{"id":"CVE-2026-108082","summary":"Symfony: ReDoS in HeaderUtils::split() Reachable Through the Cache-Control Request Header","details":"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 (?\u003c!\\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.\n\n\n\nA 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.\n\n\n\nThis 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.","aliases":["GHSA-r925-mgvr-h9cc"],"modified":"2026-10-16T02:47:29.554518201Z","published":"2026-10-15T14:46:01.594Z","database_specific":{"cna_assigner":"Checkmarx","cwe_ids":["CWE-1333"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108082.json","unresolved_ranges":[{"extracted_events":[{"introduced":"v4.1.0-BETA1"},{"fixed":"v5.4.54"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108082.json"},{"type":"PACKAGE","url":"https://github.com/symfony/http-foundation"},{"type":"FIX","url":"https://github.com/symfony/symfony/pull/66048"},{"type":"FIX","url":"https://github.com/symfony/symfony/pull/66491"},{"type":"ADVISORY","url":"https://github.com/symfony/symfony/security/advisories/GHSA-r925-mgvr-h9cc"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-108082"},{"type":"WEB","url":"https://packagist.org/packages/symfony/http-foundation"},{"type":"ADVISORY","url":"https://symfony.com/blog/cve-2026-108082-redos-in-headerutils-split-reachable-through-the-cache-control-request-header"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/symfony/http-foundation","events":[{"introduced":"2d922ae57da9a4ade25bd4578fe42faca5f67dc2"},{"fixed":"08bbdd5cf09248785442c41929aabe42f8ef5cfd"},{"introduced":"915282beba30fe65744a0f3cc4a440c498feabc8"},{"fixed":"f7b953be7801974a5a0685e1228bbc3b12b35936"},{"introduced":"5a63b4067e74190d85a70c4708c4a28c0f6e84e4"},{"fixed":"d8fdc670ed510a69e3a9eb4f5eac89f5ed627e17"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"v6.0.0-BETA1"},{"fixed":"v6.4.46"},{"introduced":"v7.0.0-BETA1"},{"fixed":"v7.4.19"},{"introduced":"v8.0.0-BETA1"},{"fixed":"v8.1.7"}]}}],"versions":["v8.1.6","v7.4.18","v6.4.45","v8.1.5","v7.4.17","v6.4.44","v8.1.4","v7.4.16","v6.4.43","v8.1.2","v7.4.15","v7.4.13","v8.1.1","v7.4.14","v6.4.42","v8.1.0","v6.4.41","v8.1.0-RC1","v8.1.0-BETA3","v8.1.0-BETA1","v6.4.35","v7.4.8","v7.4.7","v7.4.6","v6.4.34","v7.4.5","v6.4.33","v7.4.4","v6.4.32","v7.4.3","v6.4.31","v8.0.1","v7.4.1","v6.4.30","v8.0.0-RC1","v8.0.0","v7.4.0-RC1","v7.4.0","v6.4.16","v6.4.29","v6.4.28","v8.0.0-BETA2","v7.4.0-BETA2","v8.0.0-BETA1","v7.4.0-BETA1","v6.4.26","v6.4.25","v6.4.24","v6.4.23","v7.3.0-RC1","v7.3.0","v6.4.22","v7.3.0-BETA2","v7.3.0-BETA1","v6.4.21","v6.4.18","v7.2.0","v7.2.0-RC1","v6.4.15","v7.2.0-BETA2","v6.4.14","v7.2.0-BETA1","v6.4.13","v6.4.12","v6.4.10","v6.4.8","v7.1.0","v7.1.0-RC1","v7.1.0-BETA1","v6.4.7","v6.4.4","v6.4.3","v7.0.0-RC1","v7.0.0-BETA3","v7.0.0","v6.4.2","v6.4.0-RC2","v6.4.0","v6.4.0-RC1","v6.4.0-BETA3","v6.4.0-BETA2","v7.0.0-BETA2","v7.0.0-BETA1","v6.4.0-BETA1","v6.3.0-RC1","v6.3.0","v6.3.0-BETA3","v6.3.0-BETA1","v6.2.0-RC1","v6.2.0","v6.2.0-BETA3","v6.2.0-BETA1","v6.1.0","v6.1.1","v6.1.0-RC1","v6.1.0-BETA2","v6.1.0-BETA1","v6.0.0","v6.0.0-RC1","v6.0.0-BETA1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-108082.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}