Symfony: HtmlSanitizer allowLinkHosts() / allowMediaHosts() Bypass via URL-Parser Differentials and <area> Misclassification
Summary
| CVE | CVE-2026-45066 |
|---|---|
| State | PUBLISHED |
| Assigner | GitHub_M |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-07-14 18:17:16 UTC |
| Updated | 2026-07-16 15:16:31 UTC |
| Description | Symfony is a PHP framework for web and console applications and a set of reusable PHP components. From 6.1.0-BETA1 until 6.4.40, 7.4.12, and 8.0.12, HtmlSanitizer URL sanitization can allow off-allowlist URLs through allowLinkHosts() or allowMediaHosts() because UrlSanitizer::parse() follows RFC 3986 while browsers follow WHATWG URL parsing, and because <area href> is checked against the media policy rather than the link policy. This issue is fixed in versions 6.4.40, 7.4.12, and 8.0.12. |
Risk And Classification
Primary CVSS: v4.0 2.3 LOW from [email protected]
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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
EPSS: 0.004540000 probability, percentile 0.366250000 (date 2026-07-15)
Problem Types: CWE-184 | CWE-436 | CWE-184 CWE-184: Incomplete List of Disallowed Inputs | CWE-436 CWE-436: Interpretation Conflict
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | [email protected] | Secondary | 2.3 | LOW | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/C... |
| 4.0 | CNA | DECLARED | 2.3 | LOW | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| 3.1 | [email protected] | Primary | 6.1 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
CVSS v4.0 Breakdown
Attack Vector
NetworkAttack Complexity
LowAttack Requirements
PresentPrivileges Required
NoneUser Interaction
PassiveConfidentiality
NoneIntegrity
NoneAvailability
NoneSub Conf.
LowSub Integrity
LowSub Availability
NoneCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
LowPrivileges Required
NoneUser Interaction
RequiredScope
ChangedConfidentiality
LowIntegrity
LowAvailability
NoneCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Application | Sensiolabs | Symfony | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Symfony | Symfony | affected >= 6.1.0-BETA1, < 6.4.40 | Not specified |
| CNA | Symfony | Symfony | affected >= 7.0.0-BETA1, < 7.4.12 | Not specified |
| CNA | Symfony | Symfony | affected >= 8.0.0-BETA1, < 8.0.12 | Not specified |
| CNA | Symfony | Html-sanitizer | affected >= 6.1.0-BETA1, < 6.4.40 | Not specified |
| CNA | Symfony | Html-sanitizer | affected >= 7.0.0-BETA1, < 7.4.12 | Not specified |
| CNA | Symfony | Html-sanitizer | affected >= 8.0.0-BETA1, < 8.0.12 | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/symfony/symfony/releases/tag/v6.4.40 | [email protected] | github.com | Product, Release Notes |
| github.com/symfony/symfony/releases/tag/v8.0.12 | [email protected] | github.com | Product, Release Notes |
| github.com/symfony/symfony/security/advisories/GHSA-qc95-4862-92fh | [email protected] | github.com | Patch, Vendor Advisory |
| github.com/symfony/symfony/releases/tag/v7.4.12 | [email protected] | github.com | Product, Release Notes |
| github.com/symfony/symfony/commit/d506b556d3d3906f3e8660ad82257ce87edbaac4 | [email protected] | github.com | Patch |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.