symfony/http-foundation security advisory
CVE-2026-108082: ReDoS in HeaderUtils::split() Reachable Through the Cache-Control Request Header in symfony/http-foundation
CVE-2026-108082 is a high-severity denial of service vulnerability in the PHP package symfony/http-foundation (CVSS 8.7), published 15 October 2026. It is fixed in 5.4.54, 6.4.46, 7.4.19 and 8.1.7, one per release line; earlier versions on each line are affected. It can be exploited without an account.
high 8.7 published 2026-10-15 · updated 2026-10-16
- Affected versions
- >= 5.4.1, < 5.4.54
>= 6.0.1, < 6.4.46
>= 7.0.0, < 7.4.19
>= 8.0.0, < 8.1.7 - Fixed in
- 5.4.54, 6.4.46, 7.4.19, 8.1.7
- Newest release
- 8.1.10
- Severity
- High · CVSS 8.7
- Type
- Denial of service
CWE-1333 - Exploited in the wild
- Not on the CISA KEV list
checked 2026-11-04
Also affects
- symfony/symfony >= 5.4.1, < 5.4.54; >= 6.0.1, < 6.4.46; >= 7.0.0, < 7.4.19; >= 8.0.0, < 8.1.7 fixed in 5.4.54, 6.4.46, 7.4.19, 8.1.7
Is your symfony/http-foundation version affected?
Who can exploit CVE-2026-108082
- Access: No account. Anyone who can send a request to an app that uses the affected code.
CVSS vector: 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
How to fix CVE-2026-108082 in symfony/http-foundation
- Find the installed version:
composer show symfony/http-foundation. If you never required it yourself,composer why symfony/http-foundationshows which package pulls it in. - Update it:
composer update symfony/http-foundation --with-all-dependencies. You need the fixed version for your release line (5.4.54, 6.4.46, 7.4.19 and 8.1.7). - If Composer will not go that high, your composer.json constraint is holding it back. Widen it (for example
"symfony/http-foundation": "^8.1.7"if you can take that version), or upgrade the package that requires it. - Run
composer audit. It reads the same advisory data and should no longer list CVE-2026-108082. - Commit composer.lock and deploy it. On the server, run
composer install --no-devfrom the lock file, notcomposer update.
If you cannot upgrade yet
- Rate-limit the affected endpoint and cap request body, header and upload sizes at the web server.
- If your app does not use the affected feature, note that in your audit, but still plan the upgrade.
The CVE-2026-108082 advisory
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.
References
- GitHub security advisory GHSA-r925-mgvr-h9cc github.com
- Symfony security advisory symfony.com
- Symfony security advisory symfony.com
- Pull request #66048 github.com
- Pull request #66491 github.com
Other symfony/http-foundation advisories
- medium CVE-2026-48736: IpUtils::PRIVATE_SUBNETS Omits IPv6 Transition Forms (6to4, NAT64, Teredo, IPv4-compatible): SSRF Bypass in NoPrivateNetworkHttpClient 2026-05-26
- high CVE-2025-64500: Incorrect parsing of PATH_INFO can lead to limited authorization bypass 2025-11-12
- low CVE-2024-50345: Open redirect via browser-sanitized URLs 2024-11-05
- low CVE-2020-5255: Prevent cache poisoning via a Response Content-Type header 2020-03-30
- high CVE-2019-18888: Prevent argument injection in a MimeTypeGuesser 2019-11-13
- critical CVE-2019-10913: Reject invalid HTTP method overrides 2019-04-16
Related
Need help patching or upgrading? Laskyr does PHP and Laravel security fixes and upgrades. Tell us what you run and we reply with a plan and a price.
Ask about a fixWhere this data comes from
- Affected and fixed versions: the Packagist security advisories API (GitHub Advisory Database and FriendsOfPHP), the same data
composer audituses. Synced 2026-11-03. - Description, score, weakness and references: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Exploited-in-the-wild status: the CISA Known Exploited Vulnerabilities catalog, checked 2026-11-04.
- Compiled by Daniel Lasek at Laskyr from the sources above. The summary, “who can exploit it”, “how to fix it” and hardening sections are our plain-English reading of the record and are generated from it. The quoted description is the record's own text. Spot an error? Tell us.