CVE-2026-108082
Symfony: ReDoS in HeaderUtils::split() Reachable Through the Cache-Control Request Header
Что произошло
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to versions 5.4.54, 6.4.46, 7.4.19, and 8.1.7, HeaderUtils::split() parsed header values with a pattern whose token alternative also matched whitespace, followed by a (?<!\s) lookbehind. A run of whitespace placed before a separator could be divided among the iterations of the enclosing repetition in exponentially many ways, and the engine tried all of them before settling. HeaderBag calls it for the Cache-Control header whenever a Request is built, so any application handling HTTP requests is reachable, with no authentication. A single request carrying such a header costs close to a second of CPU (813 ms for a run of 17 spaces in an 8 KB header on PHP 8.5, doubling with each extra space). From 18 spaces on, preg_match_all() gives up at pcre.backtrack_limit and split() returns an empty array, so every directive of the header is silently dropped. This issue affects symfony/http-foundation v4.1.0-BETA1 through v5.4.53, v6.0.0-BETA1 through v6.4.45, v7.0.0-BETA1 through v7.4.18, and v8.0.0-BETA1 through v8.1.6.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
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. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
sensiolabs / symfony
{
"status": "affected",
"version": "v4.1.0-BETA1",
"lessThan": "v5.4.54",
"versionType": "git"
}{
"status": "affected",
"version": "v6.0.0-BETA1",
"lessThan": "v6.4.46",
"versionType": "git"
}{
"status": "affected",
"version": "v7.0.0-BETA1",
"lessThan": "v7.4.19",
"versionType": "git"
}{
"status": "affected",
"version": "v8.0.0-BETA1",
"lessThan": "v8.1.7",
"versionType": "git"
}symfony/http-foundation composer
Диапазон источника: >= 6.0.1, < 6.4.46
Первая исправленная версия по источнику: 6.4.46
symfony/http-foundation composer
Диапазон источника: >= 7.0.0, < 7.4.19
Первая исправленная версия по источнику: 7.4.19
symfony/http-foundation composer
Диапазон источника: >= 8.0.0, < 8.1.7
Первая исправленная версия по источнику: 8.1.7
symfony/symfony composer
Диапазон источника: >= 6.0.1, < 6.4.46
Первая исправленная версия по источнику: 6.4.46
symfony/symfony composer
Диапазон источника: >= 7.0.0, < 7.4.19
Первая исправленная версия по источнику: 7.4.19
symfony/symfony composer
Диапазон источника: >= 8.0.0, < 8.1.7
Первая исправленная версия по источнику: 8.1.7
symfony/http-foundation composer
Диапазон источника: >= 4.1.0, < 5.4.54
Первая исправленная версия по источнику: 5.4.54
symfony/symfony composer
Диапазон источника: >= 4.1.0, < 5.4.54
Первая исправленная версия по источнику: 5.4.54
CVSS: оценки и векторы
CVSS 4.0 · cve8.7
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"ghsa"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:11:41.011672+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T21:26:23.844525+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T21:26:23.844525+00:00"
},
"affected": [
"cve",
"ghsa"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T21:26:23.844525+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:11:41.011672+00:00"
},
"references": [
"cve",
"ghsa"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T21:26:23.844525+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:11
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:56
- Данные обновлены30.10.2026, 16:15
- Данные обновлены29.10.2026, 00:26
- Данные обновлены28.10.2026, 18:05
- Появились сведения об исправлении28.10.2026, 17:59
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-121373 Symfony: HtmlSanitizer MetaRefreshAttributeSanitizer Matches Only a Narrow Subset of the Browser Refresh Grammar (Incomplete Fix for CVE-2026-48761) sensiolabs / symfony | Средний | 5.3 | — | Патч | 04.11.2026 | |
| CVE-2026-118516 Symfony: Host Placeholders Can Match the Start of the Path in Compiled URL Matchers, Bypassing Path-Based Access Control sensiolabs / symfony | Средний | 6.3 | — | Патч | 04.11.2026 | |
| CVE-2026-118513 Symfony: X.509 Authentication Impersonation via DN Value Injection (incomplete fix for CVE-2026-45063) sensiolabs / symfony | Высокий | 7.7 | — | Патч | 04.11.2026 | |
| CVE-2026-109413 Symfony: Unbounded Recursion in the YAML Inline Lexer Lets a Single Document Crash the Process sensiolabs / symfony · symfony/symfony | Высокий | 8.7 | 0,4 % | Патч | 15.10.2026 | |
| CVE-2026-109449 Symfony: Unbounded Nesting in the Expression Parser Lets Untrusted Expressions Crash the Process sensiolabs / symfony | Высокий | 8.7 | 0,38 % | Патч | 15.10.2026 |