Перейти к содержимому
Noroxi
NVD / CVE Program· CNA GitHub_M

CVE-2026-45623: PostCSS: Arbitrary file read and information disclosure via attacker-controlled sourceMappingURL in CSS comments

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 36/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,60% (FIRST EPSS).
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
  • Исправленная версия: postcss postcss 8.5.12.

Пока низкий приоритет. Обновитесь до postcss postcss 8.5.12 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. In versions 8.5.11 and prior, the PreviousMap parses the /*# sourceMappingURL=PATH */ comment from any CSS string passed to process() and dereferences PATH against the local filesystem with no scheme, allowlist, or traversal check. An attacker who controls the CSS input can cause the host process to read any file readable by Node and leak the first ~10 bytes of its content through the resulting JSON.parse SyntaxError message. The bug also yields a precise file-existence oracle and a controllable-read primitive that may be combined with large-file targets for DoS. The behaviour is triggered with PostCSS's default options — no from, no map, no plugins required — and is therefore reachable from any pipeline that runs untrusted CSS through PostCSS (CMS themes, user-uploaded styles, browser-extension/userstyle processors, build pipelines for third-party packages, blog comment renderers, etc.). This issue has been fixed in version 8.5.12.

КритическаяCVSS 9.1 · v3.1—Эксплойта нет Есть исправление
Опубликовано
27 июл. 2026 г.
Обновлено
6 авг. 2026 г.
EPSS
0,6 % · 49-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

36

Наблюдать

Пока низкий приоритет.

CVSS
36 / 40 · 9.1 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,6 %

Решение CISA SSVC

Эксплуатация
proof of concept
Автоматизируемо
да
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
9,1
CNA · GitHub_M
7,5
разница 1,6 балла

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2026-45623

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
postcsspostcss

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • postcss postcssдо 8.5.12

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.

  • postcss postcss

    • < 8.5.12затронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12node-postcssс 0—
Debian:14node-postcssдо 8.5.12+~cs9.3.32-18.5.12+~cs9.3.32-1
npmpostcssдо 8.5.128.5.12
openSUSE:Tumbleweedvelociraptorдо 0.76.7.0.git145.b60ef1146-1.10.76.7.0.git145.b60ef1146-1.1
Red Hat:enterprise_linux:10.2rh-podman-desktopдо 0:1.1.2-1.el10_20:1.1.2-1.el10_2
Red Hat:satellite_capsule:6.19::el9foremanдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite_capsule:6.19::el9foreman-debugдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite_capsule:6.19::el9foreman-pcpдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite_capsule:6.19::el9python3.12-dynaconfдо 0:3.2.13-2.el9pc0:3.2.13-2.el9pc
Red Hat:satellite_capsule:6.19::el9python3.12-gitpythonдо 0:3.1.62-1.el9pc0:3.1.62-1.el9pc
Red Hat:satellite_capsule:6.19::el9python3.12-sqlparseдо 0:0.6.0-1.el9pc0:0.6.0-1.el9pc
Red Hat:satellite_utils:6.19::el9foreman-cliдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite_utils:6.19::el9rubygem-hammer_cliдо 0:3.18.0-2.el9sat0:3.18.0-2.el9sat
Red Hat:satellite:6.19::el9foreman-dynflow-sidekiqдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-ec2до 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-journaldдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-libvirtдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-openstackдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-postgresqlдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-redisдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-serviceдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-telemetryдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9foreman-vmwareдо 0:3.18.0.14-1.el9sat0:3.18.0.14-1.el9sat
Red Hat:satellite:6.19::el9rubygem-foreman_remote_executionдо 0:16.5.3-2.el9sat0:16.5.3-2.el9sat

+3

Тот же продукт

postcss: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2021-23382Regular Expression Denial of Service (ReDoS)
    31Наблюдать
  • CVE-2026-73646PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
    30Наблюдать
  • CVE-2026-69153PostCSS: incomplete fix of CVE-2026-45623 — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
    25Наблюдать

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2021-2336812 апр. 2021 г. · Regular Expression Denial of Service (ReDoS)
    22Наблюдать
  • ← РаньшеCVE-2023-4427029 сент. 2023 г. · An issue was discovered in PostCSS before 8.4.31.
    21Наблюдать
  • ← РаньшеCVE-2026-4130523 апр. 2026 г. · PostCSS has XSS via Unescaped </style> in its CSS Stringify Output
    24Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
postcss postcss8.5.12 · descriptionВендор (CNA)
debian:node-postcss8.5.12+~cs9.3.32-1 · Debian:14Реестр пакетов (OSV)
npm:postcss8.5.12Реестр пакетов (OSV)
opensuse:velociraptor0.76.7.0.git145.b60ef1146-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
red hat:foreman0:3.18.0.14-1.el9sat · Red Hat:satellite_capsule:6.19::el9Реестр пакетов (OSV)
red hat:foreman-cli0:3.18.0.14-1.el9sat · Red Hat:satellite_utils:6.19::el9Реестр пакетов (OSV)
red hat:foreman-debug0:3.18.0.14-1.el9sat · Red Hat:satellite_capsule:6.19::el9Реестр пакетов (OSV)
red hat:foreman-dynflow-sidekiq0:3.18.0.14-1.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)
red hat:foreman-ec20:3.18.0.14-1.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)
red hat:foreman-journald0:3.18.0.14-1.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)
red hat:foreman-libvirt0:3.18.0.14-1.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)
red hat:foreman-openstack0:3.18.0.14-1.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)
red hat:foreman-pcp0:3.18.0.14-1.el9sat · Red Hat:satellite_capsule:6.19::el9Реестр пакетов (OSV)
red hat:rh-podman-desktop0:1.1.2-1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:rubygem-foreman_remote_execution0:16.5.3-2.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)
red hat:rubygem-foreman_remote_execution-cockpit0:16.5.3-2.el9sat · Red Hat:satellite:6.19::el9Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

  • CVE-2026-73646с разницей 21 дн.PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
    30Наблюдать
  • CVE-2026-69153с разницей 7 дн.PostCSS: incomplete fix of CVE-2026-45623 — attacker-controlled sourceMappingURL reads arbitrary .map files when `from` is unset
    25Наблюдать

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
нет
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Нет
Влияние на доступность
Высокое

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

nvd-primary

Первопричина

Имя файла, переданное пользователем, объединяется с разрешённым каталогом, но не проверяется, остаётся ли результат внутри этого каталога.

Ошибка в коде

Весь класс CWE-22

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

Исправленный код

ts
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) {  return res.sendStatus(400);}res.sendFile(file);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Все записи