p PatchFirst

CVE-2026-118257

CVE-2026-118257 · Vue I18n: escapeParameter does not prevent XSS through srcdoc in translation messages

This page contains facts from public vulnerability sources. Check the original advisory before updating.

This page shows selected source facts. See the linked advisories for the complete description and affected versions.

Vue I18n is the internationalization plugin for Vue.js. From 11.1.10 until 11.4.14 and from 12.0.0-alpha.4 until 12.0.0-alpha.5, sanitizeTranslatedHtml() escapes markup and event-handler text inside an iframe srcdoc value but leaves the srcdoc attribute active. Browsers decode the character references and parse the value as a same-origin nested HTML document, allowing attacker-controlled parameters or translation content placed in srcdoc to execute script when applications enable escapeParameter and render translations as HTML through v-html. Versions 9.14.5 and 10.0.8 are also affected and are no longer supported, while i18n-t rendering is not affected. This issue is fixed in versions 11.4.14 and 12.0.0-alpha.5.

CVSS 7.2 · High · EPSS 0.3% · Public exploit · Fix available

Published
Updated

Stack: node

Affected products and versions

  • vue-i18n

    Versions
    • = 9.14.5: Affected
    • = 10.0.8: Affected
    • >= 11.1.10, < 11.4.14: Affected
    • >= 12.0.0-alpha.4, < 12.0.0-alpha.5: Affected

    No fix published

  • vue-i18n npm

    Versions
    • 9.14.5

    No fix published

  • vue-i18n npm

    Versions
    • 10.0.8

    No fix published

  • vue-i18n npm

    Affected ranges
    • SEMVER: ≥ 11.1.10, < 11.4.14

    Update to 11.4.14

  • vue-i18n npm

    Versions
    • 12.0.0-alpha.4
    Affected ranges
    • SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5

    Update to 12.0.0-alpha.5

  • petite-vue-i18n npm

    Versions
    • 9.14.5

    No fix published

  • petite-vue-i18n npm

    Versions
    • 10.0.8

    No fix published

  • petite-vue-i18n npm

    Affected ranges
    • SEMVER: ≥ 11.1.10, < 11.4.14

    Update to 11.4.14

  • petite-vue-i18n npm

    Versions
    • 12.0.0-alpha.4
    Affected ranges
    • SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5

    Update to 12.0.0-alpha.5

  • @intlify/core-base npm

    Versions
    • 9.14.5

    No fix published

  • @intlify/core-base npm

    Versions
    • 10.0.8

    No fix published

  • @intlify/core-base npm

    Affected ranges
    • SEMVER: ≥ 11.1.10, < 11.4.14

    Update to 11.4.14

  • @intlify/core-base npm

    Versions
    • 12.0.0-alpha.4
    Affected ranges
    • SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5

    Update to 12.0.0-alpha.5

  • @intlify/core npm

    Versions
    • 9.14.5

    No fix published

  • @intlify/core npm

    Versions
    • 10.0.8

    No fix published

  • @intlify/core npm

    Affected ranges
    • SEMVER: ≥ 11.1.10, < 11.4.14

    Update to 11.4.14

  • @intlify/core npm

    Versions
    • 12.0.0-alpha.4
    Affected ranges
    • SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5

    Update to 12.0.0-alpha.5

  • @intlify/vue-i18n-core npm

    Versions
    • 9.14.5

    No fix published

  • @intlify/vue-i18n-core npm

    Versions
    • 10.0.8

    No fix published

  • @intlify/vue-i18n-core npm

    Affected ranges
    • SEMVER: ≥ 11.1.10, < 11.4.14

    Update to 11.4.14

  • @intlify/vue-i18n-core npm

    Versions
    • 12.0.0-alpha.4
    Affected ranges
    • SEMVER: ≥ 12.0.0-alpha.4, < 12.0.0-alpha.5

    Update to 12.0.0-alpha.5

  • @intlify/shared npm

    Versions
    • 9.14.5

    No fix published

  • @intlify/shared npm

    Versions
    • 10.0.8

    No fix published

  • @intlify/shared npm

    Affected ranges
    • SEMVER: ≥ 11.1.10, < 11.4.14

    Update to 11.4.14

Original sources

Check your server →