wg-easy | CVE-2025-53892 | vue-i18n@10.0.7
CVE-2025-53892
Уязвимость в компоненте vue-i18n
ID уязвимости: CVE-2025-53892
Название компонента: vue-i18n
Текущая версия: 10.0.7
Фиксированные версии: 9.14.5, 10.0.8, 11.1.10
Статус: исправлено
Описание уязвимости:
Vue I18n — это плагин для интернационализации в Vue.js. Опция escapeParameterHtml: true
в Vue I18n предназначена для защиты от HTML/скриптовой инъекции путём экранирования интерполированных параметров. Однако начиная с версии 9.0.0 и до версий 9.14.5, 10.0.8 и 11.1.0 эта настройка не предотвращает выполнение определённых тэг-базированных payload, таких как <img src=x onerror=...>
, если интерполированное значение вставляется внутрь HTML-контекста с помощью v-html
. Это может привести к уязвимости DOM-based XSS, даже при использовании escapeParameterHtml: true
, если строка перевода включает в себя незначительный HTML и отображается через v-html
.
Ссылки:
Ссылки на коммиты и пул реквесты:
- Commit 49f982443ab8fd94ecc427b265ce97d57df94d7e
- Commit a47099619fb9b256e86341a8658ebe72e92ab099
- Pull Request #2229
- Pull Request #2230
Дата публикации: 2025-07-16
Дата последнего изменения: 2025-07-22
Варианты исправления:
- Обновить компонент
vue-i18n
до одной из фиксированных версий: 9.14.5, 10.0.8 или 11.1.10. - Проверить все места использования
v-html
иescapeParameterHtml
на предмет возможных уязвимостей и внести необходимые изменения в код.
Описание:
Vue I18n is the internationalization plugin for Vue.js. The escapeParameterHtml: true option in Vue I18n is designed to protect against HTML/script injection by escaping interpolated parameters. However, starting in version 9.0.0 and prior to versions 9.14.5, 10.0.8, and 11.1.0, this setting fails to prevent execution of certain tag-based payloads, such asИсходный JSON:
{
"VulnerabilityID": "CVE-2025-53892",
"PkgID": "vue-i18n@10.0.7",
"PkgName": "vue-i18n",
"PkgIdentifier": {
"PURL": "pkg:npm/vue-i18n@10.0.7",
"UID": "d77fadc10a3e99b1"
},
"InstalledVersion": "10.0.7",
"FixedVersion": "9.14.5, 10.0.8, 11.1.10",
"Status": "fixed",
"Layer": {},
"SeveritySource": "ghsa",
"PrimaryURL": "https://avd.aquasec.com/nvd/cve-2025-53892",
"DataSource": {
"ID": "ghsa",
"Name": "GitHub Security Advisory npm",
"URL": "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm"
},
"Title": "vue-i18n's escapeParameterHtml does not prevent DOM-based XSS through its tag attributes",
"Description": "Vue I18n is the internationalization plugin for Vue.js. The escapeParameterHtml: true option in Vue I18n is designed to protect against HTML/script injection by escaping interpolated parameters. However, starting in version 9.0.0 and prior to versions 9.14.5, 10.0.8, and 11.1.0, this setting fails to prevent execution of certain tag-based payloads, such as , 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. Versions 9.14.5, 10.0.8, and 11.1.0 contain a fix for the issue.",
"Severity": "MEDIUM",
"CweIDs": [
"CWE-79"
],
"VendorSeverity": {
"ghsa": 2
},
"References": [
"https://github.com/intlify/vue-i18n",
"https://github.com/intlify/vue-i18n/commit/49f982443ab8fd94ecc427b265ce97d57df94d7e",
"https://github.com/intlify/vue-i18n/commit/a47099619fb9b256e86341a8658ebe72e92ab099",
"https://github.com/intlify/vue-i18n/pull/2229",
"https://github.com/intlify/vue-i18n/pull/2230",
"https://github.com/intlify/vue-i18n/releases/tag/v10.0.8",
"https://github.com/intlify/vue-i18n/releases/tag/v11.1.10",
"https://github.com/intlify/vue-i18n/releases/tag/v9.14.5",
"https://github.com/intlify/vue-i18n/security/advisories/GHSA-x8qp-wqqm-57ph",
"https://nvd.nist.gov/vuln/detail/CVE-2025-53892"
],
"PublishedDate": "2025-07-16T14:15:28.357Z",
"LastModifiedDate": "2025-07-22T15:15:37.397Z"
}
```