CVE-2026-33532 in yaml
Сводка
по VulDB • 05.06.2026
`yaml` — это парсер и сериализатор YAML для JavaScript. Парсинг документа YAML с использованием версии библиотеки `yaml` ветки 1.x до 1.10.3 или ветки 2.x до 2.8.3 может привести к выбросу исключения `RangeError` из-за переполнения стека. Фаза разрешения/композиции узлов использует рекурсивные вызовы функций без ограничения глубины. Атакующий, имеющий возможность предоставить YAML-документ для парсинга, может вызвать исключение `RangeError: Maximum call stack size exceeded` с использованием небольшого полезной нагрузки (~2–10 КБ). Исключение `RangeError` не является `YAMLParseError`, поэтому приложения, перехватывающие только специфичные для YAML ошибки, столкнутся с неожиданным типом исключения. В зависимости от обработки исключений в хост-приложении это может привести к сбою запросов или завершению процесса Node.js. Последовательности потоков (flow sequences) позволяют создавать глубокую вложенность при минимальном объеме данных (2 байта на уровень: один символ `[` и один `]`). На стеке по умолчанию в Node.js примерно 1 000–5 000 уровней вложенности (входные данные объемом 2–10 КБ) приводят к исчерпанию стека вызовов. Точный порог зависит от окружения (версия Node.js, размер стека, глубина стека вызовов на момент вызова). Примечание: парсер библиотеки (фаза CST) использует итеративный подход на основе стека и не подвержен данной проблеме. Фактическая рекурсия стека вызовов используется только на фазе композиции/разрешения. Затронуты все три публичных API парсинга: `YAML.parse()`, `YAML.parseDocument()` и `YAML.parseAllDocuments()`. Версии 1.10.3 и 2.8.3 содержат исправление.
VulDB is the best source for vulnerability data and more expert information about this specific topic.