CVE-2026-33532
yaml уязвим к переполнению стека через глубоко вложенные коллекции YAML
- Опубликовано
- 26 мар. 2026 г.
- Обновлено
- 30 мар. 2026 г.
- Назначение CNA
- GitHub_M
- Наблюдены доказательства
- 25 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:LНизкий · следующие 30 дней
- Процентиль
- 39,7 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
`yaml` — это YAML-парсер и сериализатор для JavaScript. Разбор YAML-документа с версией `yaml` из ветки 1.x до 1.10.3 или из ветки 2.x до 2.8.3 может вызвать RangeError из-за переполнения стека. Фаза разрешения/композиции узлов использует рекурсивные вызовы функций без ограничения глубины. Злоумышленник, который может передать YAML для разбора, способен вызвать `RangeError: Maximum call stack size exceeded` с небольшим payload (~2–10 КБ). `RangeError` не является `YAMLParseError`, поэтому приложения, которые перехватывают только ошибки, специфичные для YAML, столкнутся с неожиданным типом исключения. В зависимости от обработки исключений в хост-приложении это может привести к сбою запросов или завершению процесса Node.js. Flow-последовательности позволяют глубокую вложенность при минимальном объёме байтов (2 байта на уровень: одна `[` и одна `]`). При стандартном стеке Node.js примерно 1 000–5 000 уровней вложенности (входные данные 2–10 КБ) исчерпывают стек вызовов. Точный порог зависит от окружения (версия Node.js, размер стека, глубина стека вызовов на момент вызова). Примечание: `Parser` библиотеки (фаза CST) использует итеративный подход на основе стека и не затрагивается. Только фаза compose/resolve использует фактическую рекурсию стека вызовов. Затронуты все три публичных API разбора: `YAML.parse()`, `YAML.parseDocument()` и `YAML.parseAllDocuments()`. Версии 1.10.3 и 2.8.3 содержат исправление.
Источники
1Репозиторий, посвящённый CVE-2026-33532, предоставляющий анализ и потенциальный proof-of-concept для веб-уязвимости.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.