Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-109449— Symfony: Unbounded Nesting in the Expression Parser Lets Untrusted Expressions Crash the Process

Quick assessment

Affected
sensiolabs symfony
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 Symfony Expression Language 5.4.54、6.4.48、7.4.21 和 8.1.9 之前的版本中,ExpressionLanguage 组件的解析器在构建节点树时未对树的深度进行限制。当表达式包含数以万计的嵌套一元运算符、数组字面量、二元运算符或属性访问操作时,在释放该树结构的过程中会导致 PHP 进程崩溃。 注解会将通过验证的值传递给 方法。因此,任何对用户编写的表达式进行验证的应用程序,都可能因单个请求而导致崩溃;同样,任何解析不受信任表达式的代码也存在此风险。 此问题影响以下

CVSS 8.7 · High EPSS 0.52% · P43

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 4

VendorProduct Version RangeStatus
sensiolabs symfony < v5.4.54 affected
v6.0.0-BETA1< v6.4.48 affected
v7.0.0-BETA1< v7.4.21 affected
v8.0.0-BETA1< v8.1.9 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-109449

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Symfony: Unbounded Nesting in the Expression Parser Lets Untrusted Expressions Crash the Process
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
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
Source: CVE Program / CVE List V5
Vulnerability Type
未经控制的递归
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
sensiolabs symfony 0 ~ v5.4.54 -

II. Public POCs for CVE-2026-109449

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-109449

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-109449 (3)

Vendor Advisories for CVE-2026-109449 (1)

Other References for CVE-2026-109449 (1)

Same Patch Batch · sensiolabs · 2026-10-15 · 3 CVEs total

CVE-2026-109413 8.7 HIGH Symfony: Unbounded Recursion in the YAML Inline Lexer Lets a Single Document Crash the Pro
CVE-2026-108082 8.7 HIGH Symfony: ReDoS in HeaderUtils::split() Reachable Through the Cache-Control Request Header

IV. Related Vulnerabilities

V. Comments for CVE-2026-109449

No comments yet


Leave a comment