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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-121623— Symfony: DataUriNormalizer Opens Data URIs With a Non-Lowercase Scheme as Local Files, Letting a Client Read Any Server File

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 Serializer 组件中的 方法使用区分大小写的正则表达式匹配 协议。攻击者可利用该特性,传入大写的协议头(例如 )绕过验证,从而在 Symfony 5.4.56 之前、6.x 系列 6.4.50 之前、7.x 系列 7.4.23 之前以及 8.x 系列 8.1.11 之前的版本中,引发路径遍历漏洞,导致任意本地文件读取。 若协议头并非小写的 ,该值将被视为本地文件路径并直接打开,而非作为内联数据进行解码。由此生成的 、 或 对象将指向服务器上的实际文件,应用程序随后会将其当作上传内容进行处理。

CVSS 8.2 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-121623

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: DataUriNormalizer Opens Data URIs With a Non-Lowercase Scheme as Local Files, Letting a Client Read Any Server File
Source: CVE Program / CVE List V5
Vulnerability Description
The Symfony Serializer component DataUriNormalizer::denormalize() matches the data: scheme with a case-sensitive regular expression, allowing a value with an uppercase scheme, such as DATA:,/../../../etc/passwd, to bypass it, resulting in Arbitrary Local File Read through Path Traversal in Symfony versions prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, and 8.x prior to 8.1.11. A value whose scheme is not lowercase data: are treated as a local file path and opened instead of being decoded as inline data, so the resulting File, \SplFileInfo, or \SplFileObject points at a file on the server, which the application then handles as the uploaded content. Any endpoint that deserializes untrusted input into one of these types is affected. FrameworkBundle registers DataUriNormalizer ahead of ObjectNormalizer by default. A single request with a crafted DATA: value is enough to read arbitrary local files that the application can access, with no authentication needed if the endpoint is public.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/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 ~ 5.4.56 -

II. Public POCs for CVE-2026-121623

# 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-121623

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

Other References for CVE-2026-121623 (2)

Same Patch Batch · sensiolabs · 2026-11-06 · 7 CVEs total

CVE-2026-123792 8.7 HIGH Symfony: Exponential and Quadratic Parse Times in the YAML Parser Let a Single Document Ho
CVE-2026-118515 8.4 HIGH Symfony: The Serializer Builds UploadedFile Objects From Request Data, Letting a Client Po
CVE-2026-122053 6.9 MEDIUM Symfony: ObjectNormalizer Dotted-Key Property-Path Traversal Bypasses #[Ignore] on Nested
CVE-2026-123746 2.3 LOW Symfony: Programmatic Logins Skip the checkPostAuth() Method of User Checkers
CVE-2026-123339 2.3 LOW Symfony: Inline Fragments Let Untrusted Forwarded Headers Set the Host, Scheme and Port of
CVE-2026-123824 2.3 LOW Symfony: XXE (Local File Read) in Config XmlUtils::parse() via validateOnParse = true

IV. Related Vulnerabilities