CVE-2024-56159
Server source code is exposed to the public if sourcemaps are enabled
Что произошло
Astro is a web framework for content-driven websites. A bug in the build process allows any unauthenticated user to read parts of the server source code. During build, along with client assets such as css and font files, the sourcemap files **for the server code** are moved to a publicly-accessible folder. Any outside party can read them with an unauthorized HTTP GET request to the same server hosting the rest of the website. While some server files are hashed, making their access obscure, the files corresponding to the file system router (those in `src/pages`) are predictably named. For example. the sourcemap file for `src/pages/index.astro` gets named `dist/client/pages/index.astro.mjs.map`. This vulnerability is the root cause of issue #12703, which links to a simple stackblitz project demonstrating the vulnerability. Upon build, notice the contents of the `dist/client` (referred to as `config.build.client` in astro code) folder. All astro servers make the folder in question accessible to the public internet without any authentication. It contains `.map` files corresponding to the code that runs on the server. All **server-output** projects on Astro 5 versions **v5.0.3** through **v5.0.7**, that have **sourcemaps enabled**, either directly or through an add-on such as `sentry`, are affected. The fix for **server-output** projects was released in **astro@5.0.8**. Additionally, all **static-output** projects built using Astro 4 versions **4.16.17 or older**, or Astro 5 versions **5.0.8 or older**, that have **sourcemaps enabled** are also affected. The fix for **static-output** projects was released in **astro@5.0.9**, and backported to Astro v4 in **astro@4.16.18**. The immediate impact is limited to source code. Any secrets or environment variables are not exposed unless they are present verbatim in the source code. There is no immediate loss of integrity within the the vulnerable server. However, it is possible to subsequently discover another vulnerability via the revealed source code . There is no immediate impact to availability of the vulnerable server. However, the presence of an unsafe regular expression, for example, can quickly be exploited to subsequently compromise the availability. The fix for **server-output** projects was released in **astro@5.0.8**, and the fix for **static-output** projects was released in **astro@5.0.9** and backported to Astro v4 in **astro@4.16.18**. Users are advised to update immediately if they are using sourcemaps or an integration that enables sourcemaps.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
withastro / astro
{
"status": "affected",
"version": ">= 5.0.0, < 5.0.8"
}{
"status": "affected",
"version": "< 4.16.18"
}astro npm
{
"status": "affected",
"version": "*",
"versionEndExcluding": "5.0.8",
"versionStartIncluding": "5.0.0-alpha.0"
}astro npm
{
"status": "affected",
"version": "*",
"versionEndExcluding": "4.16.18"
}CVSS: оценки и векторы
CVSS 4.0 · cve7.8
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/SA:L
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-02T21:08:02.049835+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T23:43:45.352104+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T23:43:45.352104+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T23:43:45.352104+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-02T21:08:02.049835+00:00"
},
"references": [
"cve",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T23:43:45.352104+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены03.11.2026, 00:08
- Данные обновлены02.11.2026, 15:13
- Данные обновлены02.11.2026, 00:07
- Данные обновлены31.10.2026, 11:54
- Данные обновлены30.10.2026, 13:19
- Данные обновлены29.10.2026, 10:39
- Появилась ссылка на PoC29.10.2026, 02:43
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-114127 Astro: Arbitrary CSS injection in Astro View Transitions withastro / astro · astro | Средний | 2.3 | 0,5 % | PoC | 21.10.2026 | |
| CVE-2026-41067 Astro: XSS via incomplete `` sanitization in `define:vars` allows case-insensitive and whitespace-based bypass withastro / astro · astro / astro | Высокий | 6.1 | 0,19 % | PoC | 24.04.2026 | |
| CVE-2026-41248 Official Clerk JavaScript SDKs: Middleware-based route protection bypass clerk / astro · clerk / nextjs | Критический | 9.1 | 0,32 % | 25.04.2026 | ||
| CVE-2026-41322 @astrojs/node: Cache Poisoning due to incorrect error handling when if-match header is malformed withastro / astro · @astrojs/node | Высокий | 5.3 | 0,29 % | PoC | 24.04.2026 | |
| CVE-2026-42349 Clerk: Authorization bypass when combining organization, billing, or reverification checks clerk / javascript · @clerk / shared | Критический | 7.6 | 0,25 % | PoC | 11.05.2026 |