Symfony: Unbounded Nesting in the Expression Parser Lets Untrusted Expressions Crash the Process
Summary
| CVE | CVE-2026-109449 |
|---|---|
| State | PUBLISHED |
| Assigner | Checkmarx |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-10-15 16:17:43 UTC |
| Updated | 2026-10-16 16:00:33 UTC |
| Description | In Symfony Expression Language versions prior to 5.4.54, 6.4.48, 7.4.21, and 8.1.9, the parser of the ExpressionLanguage component built its node tree with no bound on its depth. An expression made of tens of thousands of nested unary operators, array literals, binary operators or property accesses crashed the PHP process, while the tree was being freed. #[Assert\ExpressionSyntax] passes the validated value to ExpressionLanguage::lint(), so an application validating expressions written by its users could be crashed by a single request, and so could any code parsing untrusted expressions. This issue affects symfony/expression-language through v5.4.53, v6.0.0-BETA1 through v6.4.47, v7.0.0-BETA1 through v7.4.20, and v8.0.0-BETA1 through v8.1.8. |
Risk And Classification
Primary CVSS: v4.0 8.7 HIGH from 596c5446-0ce5-4ba2-aa66-48b3b757a647
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Problem Types: CWE-674 | CWE-674 CWE-674 Uncontrolled Recursion
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | 596c5446-0ce5-4ba2-aa66-48b3b757a647 | Secondary | 8.7 | HIGH | 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/E:X/C... |
| 4.0 | CNA | CVSS | 8.7 | HIGH | 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 |
CVSS v4.0 Breakdown
Attack Vector
NetworkAttack Complexity
LowAttack Requirements
NonePrivileges Required
NoneUser Interaction
NoneConfidentiality
NoneIntegrity
NoneAvailability
HighSub Conf.
NoneSub Integrity
NoneSub Availability
NoneCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Sensiolabs | Symfony | affected v5.4.54 git | Not specified |
| CNA | Sensiolabs | Symfony | affected v6.0.0-BETA1 v6.4.48 git | Not specified |
| CNA | Sensiolabs | Symfony | affected v7.0.0-BETA1 v7.4.21 git | Not specified |
| CNA | Sensiolabs | Symfony | affected v8.0.0-BETA1 v8.1.9 git | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/symfony/symfony/pull/66723 | 596c5446-0ce5-4ba2-aa66-48b3b757a647 | github.com | |
| github.com/symfony/symfony/security/advisories/GHSA-7rpj-w9pf-39rr | 596c5446-0ce5-4ba2-aa66-48b3b757a647 | github.com | |
| github.com/symfony/symfony/pull/66720 | 596c5446-0ce5-4ba2-aa66-48b3b757a647 | github.com | |
| github.com/symfony/symfony/pull/65690 | 596c5446-0ce5-4ba2-aa66-48b3b757a647 | github.com | |
| symfony.com/blog/cve-2026-109449-unbounded-nesting-in-the-expression-pars... | 596c5446-0ce5-4ba2-aa66-48b3b757a647 | symfony.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Nicolas Grekas (en)
There are currently no legacy QID mappings associated with this CVE.