CVE-2026-114127
Astro: Arbitrary CSS injection in Astro View Transitions
Что произошло
Astro is a web framework for content-driven websites. From 7.1.0 until 7.3.3, Astro's server-side View Transition CSS generator does not keep string animation properties within their generated declarations. An application that passes attacker-controlled data into properties such as duration, delay, easing, direction, fillMode, or animation names can allow CSS delimiters to terminate the declaration and add attacker-selected rules to the server-rendered page. The generated stylesheet still escapes literal less-than characters, so the injected content cannot terminate the style element or directly inject HTML or JavaScript. The injected CSS can conceal or reposition content, add generated text, and otherwise misrepresent the interface; some applications may also expose data already present in selectable DOM attributes through conditional resource loads. This issue is fixed in 7.3.3.
Что это значит
Входные данные могут попасть в страницу как активное содержимое. При выполнении условий атаки это затрагивает пользователей приложения.
Что делать
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": ">= 7.1.0, < 7.3.3"
}astro npm
{
"status": "affected",
"version": "*",
"versionEndExcluding": "7.3.3",
"versionStartIncluding": "7.1.0"
}CVSS: оценки и векторы
CVSS 4.0 · cve2.3
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS 4.0 · security-advisories@github.com2.3
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:11:56.249390+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-30T20:32:28.819058+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-10-30T20:32:28.819058+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-30T20:32:28.819058+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:11:56.249390+00:00"
},
"references": [
"cve",
"nvd",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-30T20:32:28.819058+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:11
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 15:15
- Данные обновлены02.11.2026, 03:33
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:57
- Появилась ссылка на PoC30.10.2026, 23:32
- Данные обновлены30.10.2026, 16:50
- Данные обновлены29.10.2026, 11:15
- Опубликована28.10.2026, 21:38
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| 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-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-41248 Official Clerk JavaScript SDKs: Middleware-based route protection bypass clerk / astro · clerk / nextjs | Критический | 9.1 | 0,32 % | 25.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 | |
| CVE-2026-45028 Astro: Server island encrypted parameters vulnerable to cross-component replay withastro / astro · astro / astro | Низкий | 2.9 | 0,14 % | Патч | 13.05.2026 |