VDB
KO

EEF-CVE-2026-66829

html_sanitize_ex HTML5 scrubber keeps attacker-supplied meta refresh, allowing forced cross-origin redirection

Quick fix

EEF-CVE-2026-66829 — html_sanitize_ex: upgrade to the fixed version with the command below.

mix deps.update html_sanitize_ex

Details

## Summary

URL Redirection to Untrusted Site ('Open Redirect') vulnerability in the HTML5 scrubber in rrrene html\_sanitize\_ex allows a remote attacker to force visitors of a page to navigate to a site of the attacker's choosing via a <meta http-equiv="refresh"> element in sanitized HTML. HtmlSanitizeEx.html5/1 keeps attacker-supplied <meta> elements in its output. A meta element acts on the whole document rather than on the fragment it was embedded in, so it can also declare document-wide directives such as Content-Security-Policy.

This is not cross-site scripting. Browsers do not navigate a meta refresh to a javascript: URL, so the uppercase JAVASCRIPT: filter bypass yields no script execution and none was demonstrated.

This issue affects html\_sanitize\_ex: from 0.3.1 before 1.5.3.

## Workaround

Sanitize with basic\_html/1, markdown\_html/1 or strip\_tags/1, none of which allow meta, or define a custom scrubber that omits it.

## Configuration

Only HtmlSanitizeEx.html5/1, and custom scrubbers declared with use HtmlSanitizeEx, extend: :html5, allow the meta element, and the sanitized output must be rendered to other users.

Are you affected?

Enter the version of the package you're using.

Affected packages

Hex / html_sanitize_ex
Introduced in: 0.3.1 Fixed in: 1.5.3
Fix mix deps.update html_sanitize_ex

References