Vulnerability in symfony/html-sanitizer (CVE-2026-48760)
Summary
Vulnerability in symfony/html-sanitizer (CVE-2026-48760). Risk of unauthorized operations or information disclosure. Exploitable via href. Mitigation: upgrade to 8.0.13 or later.
Original description
The description as published by the source.
Description
Symfony\Component\HtmlSanitizer\TextSanitizer\UrlSanitizer::parse() rejects URLs containing raw Unicode explicit-direction BiDi formatting characters (U+202A–U+202E, U+2066–U+2069) as a defense against visual-spoofing of the rendered href. The check covers only the raw UTF-8 forms of those code points: the percent-encoded forms (%E2%80%AE for U+202E, %E2%81%A6 for U+2066, etc.) are not matched by the deny regex, survive league/uri's parse/build cycle, and are re-emitted unchanged in the sanitized URL. Any downstream consumer that decodes the link before display — phishing-detection filters that compare urldecode($href) against a domain allow-list, audit-log dashboards that show a decoded form for readability, hover-tooltip previews, federated/syndicated content where the decoder lives on the consuming side — restores the BiDi character and the visual spoof that the original defense was filed to prevent.
The same UrlSanitizer::parse() carries an ASCII-only /\s/ whitespace check (no /u modifier) intended as a backstop against malformed URLs. Without the /u modifier, PCRE's \s matches only ASCII whitespace, so Unicode whitespace characters — NBSP (U+00A0), the zero-width no-break space / BOM (U+FEFF), line/paragraph separators (U+2028, U+2029), ogham space (U+1680), the U+2000–U+200A en/em quad family, narrow / medium / ideographic spaces (U+202F, U+205F, U+3000) and NEL (U+0085) — pass through unchanged in both raw and percent-encoded for…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-48760 has been found in symfony/html-sanitizer.
Attackers can target a specific entry point like href over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 6.1/10.
What to do: upgrade symfony/html-sanitizer to 8.0.13 or later.
If unsure, ask your IT team or search "symfony/html-sanitizer CVE-2026-48760" on the vendor's site.
CVE-2026-48760 (symfony/html-sanitizer) — CWE-451 / CVSS v3 6.1
Attack vector: remote (network-reachable) / unauthenticated
Attack surface: href / user / pass / host
Patched: 8.0.13 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-451) exists in symfony/html-sanitizer. Attackers reach the vulnerable code path via href without authentication.
Check the vendor advisory for the affected versions of symfony/html-sanitizer. Attack surface: href / user / pass / host.
Severity: Medium (CVSS 6.1/10). Risk of unauthorized operations or information disclosure.
Update to 8.0.13.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'symfony/html-sanitizer' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'symfony/html-sanitizer' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
symfony/html-sanitizerを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade symfony/html-sanitizer to 8.0.13ステージング環境で 8.0.13 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2026-48760 symfony Fixed in: 6.4.41+dfsg-0+deb13u1
- Ubuntu UBUNTU-CVE-2026-48760 symfony
References
- package github.com
- patch security-advisories@github.com
- patch security-advisories@github.com
- web github.com
- web github.com
- web symfony.com
- web github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com