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.
Published: 2026-11-06
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Arbitrary Local File Read
Action: Immediate Patch
AI Analysis

Impact

The Symfony Serializer component's DataUriNormalizer::denormalize method incorrectly treats data URIs with non‑lowercase DATA: schemes as local file paths. This flaw allows a crafted link like DATA:,/../../../../etc/passwd to bypass the intended check and open arbitrary files on the server. An attacker can obtain the contents of any file readable by the application, leading to confidentiality loss. The weakness is a file‑path traversal combined with improper parsing of data URIs (CWE‑22, CWE‑73).

Affected Systems

The vulnerability affects the Symfony framework, specifically the Symfony Serializer component. Any Symfony installation prior to version 5.4.56, 6.4.50, 7.4.23, or 8.1.11 is impacted. SensioLabs’ Symfony product is the sole vendor and the affected components are any deserialization endpoints that involve DataUriNormalizer, which is registered by default in the FrameworkBundle.

Risk and Exploitability

With a CVSS score of 8.2 the flaw is considered high severity, and although EPSS is not shown, the lack of authentication requirement on public endpoints makes exploitation straightforward. The attack vector requires only a crafted request to a public deserialization endpoint; no user session or elevated privileges are needed. The vulnerability permits reading of arbitrary local files that the application process can access, which can lead to disclosure of configuration, credentials, or other sensitive data. The flaw is not listed in CISA’s KEV catalog and no public exploits have yet been reported.

Generated by OpenCVE AI on November 6, 2026 at 17:40 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Symfony to 5.4.56 or later, 6.4.50 or later, 7.4.23 or later, or 8.1.11 or later.
  • Disable DataUriNormalizer for public or untrusted deserialization endpoints, or restrict the input to trusted users.
  • Temporarily modify the DataUriNormalizer regex to enforce lowercase data: schemes until the official patch is deployed.

Generated by OpenCVE AI on November 6, 2026 at 17:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 17:30:00 +0000

Type Values Removed Values Added
First Time appeared Sensiolabs
Sensiolabs symfony
Vendors & Products Sensiolabs
Sensiolabs symfony

Fri, 06 Nov 2026 16:15:00 +0000

Type Values Removed Values Added
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.
Title Symfony: DataUriNormalizer Opens Data URIs With a Non-Lowercase Scheme as Local Files, Letting a Client Read Any Server File
Weaknesses CWE-22
CWE-73
References
Metrics cvssV4_0

{'score': 8.2, 'vector': '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'}


Subscriptions

Sensiolabs Symfony
cve-icon MITRE

Status: PUBLISHED

Assigner: Checkmarx

Published:

Updated: 2026-11-06T16:08:32.425Z

Reserved: 2026-11-03T16:50:15.733Z

Link: CVE-2026-121623

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T16:17:52.780

Modified: 2026-11-06T16:17:52.780

Link: CVE-2026-121623

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T17:45:06Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-73

    External Control of File Name or Path