Skip to content

Update dependency vue-i18n to v11.1.10 [SECURITY]#147

Open
renovate[bot] wants to merge 1 commit intodevelopfrom
renovate/npm-vue-i18n-vulnerability
Open

Update dependency vue-i18n to v11.1.10 [SECURITY]#147
renovate[bot] wants to merge 1 commit intodevelopfrom
renovate/npm-vue-i18n-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jul 16, 2025

This PR contains the following updates:

Package Change Age Confidence
vue-i18n (source) 11.1.511.1.10 age confidence

vue-i18n's escapeParameterHtml does not prevent DOM-based XSS through its tag attributes

CVE-2025-53892 / GHSA-x8qp-wqqm-57ph

More information

Details

Summary

The escapeParameterHtml: true option in Vue I18n is designed to protect against HTML/script injection by escaping interpolated parameters. However, this setting fails to prevent execution of certain tag-based payloads, such as <img src=x onerror=...>, if the interpolated value is inserted inside an HTML context using v-html.

This may lead to a DOM-based XSS vulnerability, even when using escapeParameterHtml: true, if a translation string includes minor HTML and is rendered via v-html.

Details

When escapeParameterHtml: true is enabled, it correctly escapes common injection points.

However, it does not sanitize entire attribute contexts, which can be used as XSS vectors via:

<img src=x onerror=alert(1)>

PoC

In your Vue I18n configuration:

const i18n = createI18n({
  escapeParameterHtml: true,
  messages: {
    en: {
      vulnerable: 'Caution: <img src=x onerror="{payload}">'
    }
  }
});

Use this interpolated payload:

const payload = '<script>alert("xss")</script>';
Render the translation using v-html (even not using v-html):

<p v-html="$t('vulnerable', { payload })"></p>
Expected: escaped content should render as text, not execute.

Actual: script executes in some environments (or the payload is partially parsed as HTML).

Impact

This creates a DOM-based Cross-Site Scripting (XSS) vulnerability despite enabling a security option (escapeParameterHtml) .

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: 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

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

intlify/vue-i18n (vue-i18n)

v11.1.10

Compare Source

🔒 Security Fixes
  • fix: DOM-based XSS via tag attributes for escape parameter, about details see GHSA-x8qp-wqqm-57ph

Full Changelog: intlify/vue-i18n@v11.1.9...v11.1.10

v11.1.9

Compare Source

Full Changelog: intlify/vue-i18n@v11.1.8...v11.1.9

v11.1.8

Compare Source

What's Changed

⚡ Improvement Features

Full Changelog: intlify/vue-i18n@v11.1.7...v11.1.8

v11.1.7

Compare Source

What's Changed

🐛 Bug Fixes
  • fix: declaration order in Number formatting with options ResourceKeys by @​kazupon in #​2208

Full Changelog: intlify/vue-i18n@v11.1.6...v11.1.7

v11.1.6

Compare Source

What's Changed

⚡ Improvement Features

Full Changelog: intlify/vue-i18n@v11.1.5...v11.1.6


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from 704fb94 to 0ddc747 Compare August 10, 2025 14:43
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from 0ddc747 to e9f95e0 Compare September 25, 2025 15:09
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from e9f95e0 to 1624c13 Compare November 10, 2025 17:54
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from 1624c13 to 089479a Compare December 31, 2025 16:30
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from 089479a to 292152d Compare February 2, 2026 21:15
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from 292152d to f92f34e Compare February 12, 2026 11:30
@renovate renovate Bot changed the title Update dependency vue-i18n to v11.1.10 [SECURITY] Update dependency vue-i18n to v11.1.10 [SECURITY] - autoclosed Feb 14, 2026
@renovate renovate Bot closed this Feb 14, 2026
@renovate renovate Bot deleted the renovate/npm-vue-i18n-vulnerability branch February 14, 2026 18:07
@renovate renovate Bot changed the title Update dependency vue-i18n to v11.1.10 [SECURITY] - autoclosed Update dependency vue-i18n to v11.1.10 [SECURITY] Feb 18, 2026
@renovate renovate Bot reopened this Feb 18, 2026
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch 2 times, most recently from f92f34e to fda935c Compare February 18, 2026 20:52
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch from fda935c to fe63d2c Compare March 5, 2026 19:08
@renovate renovate Bot changed the title Update dependency vue-i18n to v11.1.10 [SECURITY] Update dependency vue-i18n to v11.1.10 [SECURITY] - autoclosed Mar 27, 2026
@renovate renovate Bot closed this Mar 27, 2026
@renovate renovate Bot changed the title Update dependency vue-i18n to v11.1.10 [SECURITY] - autoclosed Update dependency vue-i18n to v11.1.10 [SECURITY] Mar 30, 2026
@renovate renovate Bot reopened this Mar 30, 2026
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch 2 times, most recently from fe63d2c to 598985e Compare March 30, 2026 17:36
@renovate renovate Bot changed the title Update dependency vue-i18n to v11.1.10 [SECURITY] Update dependency vue-i18n to v11.1.10 [SECURITY] - autoclosed Apr 27, 2026
@renovate renovate Bot closed this Apr 27, 2026
@renovate renovate Bot changed the title Update dependency vue-i18n to v11.1.10 [SECURITY] - autoclosed Update dependency vue-i18n to v11.1.10 [SECURITY] Apr 28, 2026
@renovate renovate Bot reopened this Apr 28, 2026
@renovate renovate Bot force-pushed the renovate/npm-vue-i18n-vulnerability branch 2 times, most recently from 598985e to 0e242d7 Compare April 28, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants