| Title | i18nextのi18nextifyにおける複数の脆弱性 |
|---|---|
| Summary | i18nextifyは、ソースコードを変更することなくスクリプトタグを介してウェブサイトの国際化を追加するJavaScriptライブラリです。バージョン4.0.8以前では、srcおよびhref属性の値内の{{key}}補間トークンを、i18next.t()が返す生の文字列に置き換えます。src/localize.js内の置換ロジック(replaceInsideハンドラー)は、重複したhttp://起点のプレフィックスに対してのみ保護しており、置換された値のURLスキームを検証していません。翻訳ファイルの内容や翻訳バックエンドのレスポンスを攻撃者が操作できる場合(例えば、破損した翻訳CDN、ユーザー投稿ロケール、平文HTTPのバックエンドに対するMITM攻撃、または翻訳JSONへの書き込み権限によって)、javascript:alert(1)やdata:text/html,script.../scriptのような翻訳済み値が変更されずにライブDOM属性に適用される可能性があります。この問題はバージョン4.0.8で修正されました。 |
| Possible impacts | ・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアは停止しません。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 7, 2026, midnight |
| Registration Date | June 3, 2026, 5:04 p.m. |
| Last Update | June 3, 2026, 5:04 p.m. |
| CVSS3.0 : 警告 | |
| Score | 4.7 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N |
| i18next |
| i18nextify 4.0.8 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年06月03日] 掲載 |
June 3, 2026, 5:04 p.m. |
| Summary | i18nextify is a JavaScript library that adds website internationalization via a script tag, without source code changes. Versions prior to 4.0.8 substitute {{key}} interpolation tokens inside src and href attribute values with the raw string returned by i18next.t(). The substitution logic in src/localize.js (the replaceInside handler) only guards against a duplicated http:// origin prefix — it does not validate the URL scheme of the substituted value. A translated value such as javascript:alert(1) or data:text/html,<script>...</script> is applied unchanged to the live DOM attribute when an attacker can influence the content of a translation file or the translation-backend response — for example, via a compromised translation CDN, user-contributed locales, a MITM on a plain-HTTP backend, or write access to the translation JSON. This issue was patched in version 4.0.8. |
|---|---|
| Publication Date | May 8, 2026, 6:16 a.m. |
| Registration Date | May 9, 2026, 4:10 a.m. |
| Last Update | May 9, 2026, 1:05 a.m. |