Symfony: HtmlSanitizer URL Attributes Pass Through BiDi Override Characters → Visual href Spoofing
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Spoofing
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-451.
Summary
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, UrlSanitizer::parse() passes Unicode explicit-direction BiDi formatting characters through into sanitized href and src attributes, allowing sanitized content to display a link destination that visually differs from the actual destination and enabling phishing-style visual spoofing. This issue is fixed in versions 6.4.40, 7.4.12, and 8.0.12.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| symfony | symfony | 6.1.0-BETA1 to before 6.4.40; 7.0.0-BETA1 to before 7.4.12; 8.0.0-BETA1 to before 8.0.12 | 6.4.40, 7.4.12, 8.0.12 | Patch available | CNA |
| symfony | html-sanitizer | 6.1.0-BETA1 to before 6.4.40; 7.0.0-BETA1 to before 7.4.12; 8.0.0-BETA1 to before 8.0.12 | 6.4.40, 7.4.12, 8.0.12 | Patch available | CNA |
| — | symfony/html-sanitizer (Packagist) | 6.1.0 to before 6.4.40 | 6.4.40 | Patch available | GHSA-h5vq-qfcg-4m6p |
| — | symfony/html-sanitizer (Packagist) | 7.0.0 to before 7.4.12 | 7.4.12 | Patch available | GHSA-h5vq-qfcg-4m6p |
| — | symfony/html-sanitizer (Packagist) | 8.0.0 to before 8.0.12 | 8.0.12 | Patch available | GHSA-h5vq-qfcg-4m6p |
| — | symfony/symfony (Packagist) | 6.1.0 to before 6.4.40 | 6.4.40 | Patch available | GHSA-h5vq-qfcg-4m6p |
| — | symfony/symfony (Packagist) | 7.0.0 to before 7.4.12 | 7.4.12 | Patch available | GHSA-h5vq-qfcg-4m6p |
| — | symfony/symfony (Packagist) | 8.0.0 to before 8.0.12 | 8.0.12 | Patch available | GHSA-h5vq-qfcg-4m6p |
- symfony Vendorsymfony Affected 6.1.0-BETA1 to before 6.4.40; 7.0.0-BETA1 to before 7.4.12; 8.0.0-BETA1 to before 8.0.12 Fixed in 6.4.40, 7.4.12, 8.0.12 Patch available CNA
- html-sanitizer Vendorsymfony Affected 6.1.0-BETA1 to before 6.4.40; 7.0.0-BETA1 to before 7.4.12; 8.0.0-BETA1 to before 8.0.12 Fixed in 6.4.40, 7.4.12, 8.0.12 Patch available CNA
- symfony/html-sanitizer (Packagist) Vendor— Affected 6.1.0 to before 6.4.40 Fixed in 6.4.40 Patch available GHSA-h5vq-qfcg-4m6p
- symfony/html-sanitizer (Packagist) Vendor— Affected 7.0.0 to before 7.4.12 Fixed in 7.4.12 Patch available GHSA-h5vq-qfcg-4m6p
- symfony/html-sanitizer (Packagist) Vendor— Affected 8.0.0 to before 8.0.12 Fixed in 8.0.12 Patch available GHSA-h5vq-qfcg-4m6p
- symfony/symfony (Packagist) Vendor— Affected 6.1.0 to before 6.4.40 Fixed in 6.4.40 Patch available GHSA-h5vq-qfcg-4m6p
- symfony/symfony (Packagist) Vendor— Affected 7.0.0 to before 7.4.12 Fixed in 7.4.12 Patch available GHSA-h5vq-qfcg-4m6p
- symfony/symfony (Packagist) Vendor— Affected 8.0.0 to before 8.0.12 Fixed in 8.0.12 Patch available GHSA-h5vq-qfcg-4m6p
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:* | 6.1.0 to before 6.4.40; 7.0.0 to before 7.4.12; 8.0.0 to before 8.0.12 | Vulnerable | sensiolabs |
- cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:* Versions 6.1.0 to before 6.4.40; 7.0.0 to before 7.4.12; 8.0.0 to before 8.0.12 Vulnerable ·sensiolabs
Remediation
- Fix · CNA symfony (symfony) Fixed in 6.4.40, 7.4.12, 8.0.12
- Fix · CNA html-sanitizer (symfony) Fixed in 6.4.40, 7.4.12, 8.0.12
- Fix · GHSA-h5vq-qfcg-4m6p symfony/html-sanitizer (Packagist) Fixed in 6.4.40 Advisory →
- Fix · GHSA-h5vq-qfcg-4m6p symfony/html-sanitizer (Packagist) Fixed in 7.4.12 Advisory →
- Fix · GHSA-h5vq-qfcg-4m6p symfony/html-sanitizer (Packagist) Fixed in 8.0.12 Advisory →
- Fix · GHSA-h5vq-qfcg-4m6p symfony/symfony (Packagist) Fixed in 6.4.40 Advisory →
- Fix · GHSA-h5vq-qfcg-4m6p symfony/symfony (Packagist) Fixed in 7.4.12 Advisory →
- Fix · GHSA-h5vq-qfcg-4m6p symfony/symfony (Packagist) Fixed in 8.0.12 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45064
- 2026-10-03 Alias added: GHSA-h5vq-qfcg-4m6p
References
Other 7
- https://github.com/symfony/symfony/releases/tag/v6.4.40
- https://github.com/symfony/symfony/releases/tag/v7.4.12
- https://github.com/symfony/symfony/releases/tag/v8.0.12
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/html-sanitizer/CVE-2026-45064.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2026-45064.yaml
- https://github.com/symfony/symfony
- https://symfony.com/cve-2026-45064
More symfony vulnerabilities
- TI-2024-33775 Ability to change environment from query in symfony/runtime CVSS 3.1HIGH 7.3
- TI-2026-34283 Twig: The `spaceless` filter implicitly marks its output as safe CVSS 4.0MEDIUM 5.1
- TI-2022-07667 Code injection in Twig CVSS 3.1CRITICAL 9.8
- TI-2018-10028 Twig before 2.4.4 allows Server-Side Template Injection (SSTI) via the search search_key… CVSS 3.0CRITICAL 9.8
- TI-2026-35851 Incorrect authorization in symfony CVSS 4.0HIGH 8.7
- TI-2026-35264 Improper input validation in symfony CVSS 4.0HIGH 8.3
Sources
- CVE-2026-45064 · CVE Program
- CVE-2026-45064 · NVD
- FIRST EPSS
- GHSA-h5vq-qfcg-4m6p · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences