Content that HtmlSanitizer cleans can still include a <meta> refresh tag that sends visitors to a host you didn't allow, or to a javascript: URL. The sanitizer only checked refresh URLs written in one narrow format, and browsers accept several more.

This is an incomplete fix for CVE-2026-48761.

Who is affected

Apps on symfony/html-sanitizer (also part of symfony/symfony) whose HtmlSanitizerConfig allows the meta element with http-equiv and content. The Symfony advisory says that includes the allowStaticElements() preset. allowLinkHosts() and allowLinkSchemes() don't apply to these refresh URLs. Configurations that don't allow meta aren't affected.

What to do

Update to 6.4.50, 7.4.23 or 8.1.11. If you're on 8.0, update to 8.1.11. The fix reads refresh values the way browsers do, and drops the attribute when it can't make the URL safe.

One side effect: any <meta content> value that starts with a digit or a full stop, such as a description like "10 tips", is now dropped too. The sanitizer can't tell which meta element it belongs to.

Reported by Ilia Alshanetsky.