CVE-2026-123792 in SymfonyИнформация

Сводка

по VulDB • 06.11.2026

Компоненты Inline и Parser библиотеки Yaml фреймворка Symfony неэффективно обрабатывают некоторые документы YAML, в результате чего небольшой специально созданный документ может требовать непропорционально много времени для обработки, удерживая процесс PHP занятым на протяжении секунд или минут, что потенциально приводит к отказу в обслуживании (DoS) в версиях Symfony старше 5.4.56, 6.x до версии 6.4.50, 7.x до версии 7.4.23 и 8.x до версии 8.1.11 включительно.

Парсер повторяет работу, которую он уже выполнил в нескольких местах. Вложенное отображение (mapping) внутри последовательности потока (flow sequence) парсится заново для каждого добавленного скалярного значения, аналогичным образом обрабатываются коллекции, вложенные в него; поэтому время парсинга растет экспоненциально с глубиной вложения. Шаблоны, сопоставляющие ключи отображения и теги, сканируют последовательность пробелов один раз за каждый символ этой последовательности, а каждый скалярный элемент коллекции потока сравнивается со скопированной частью остальной части коллекции; поэтому время парсинга растет квадратично в зависимости от размера входных данных. Вложенные блоки также копируются на каждом уровне вложения, что потребляет как память, так и процессорное время. Несколько других конструкций, таких как пустой элемент последовательности, за которым следует пустая строка, или якорь с именем 0, вызывают аналогичную избыточную обработку.

Любой код, парсящий недоверенные YAML-документы, подвержен данной уязвимости при использовании флагов по умолчанию. В Symfony 7.4 и более поздних версиях это включает атрибут #[MapRequestPayload], если установлен компонент Yaml и конечная точка (endpoint) не ограничивает acceptFormat. Один непроверенный запрос с типом содержимого YAML может держать рабочий процесс PHP занятым до достижения значения max_execution_time. Документы JSON являются валидными документами YAML, поэтому отправка полезной нагрузки формата JSON с заголовком типа контента YAML достаточно для реализации случая с коллекцией потока (flow collection). В Symfony 6.4 атрибут #[MapRequestPayload] принимает формат YAML только тогда, когда приложение регистрирует yaml как допустимый тип запроса.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

Checkmarx

Резервировать

06.11.2026

Раскрытие

06.11.2026

Модерация

принято

Вход

VDB-431971

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!