製品・ソフトウェアに関する情報
i18nextのi18next-http-middlewareにおけるオブジェクトプロトタイプ属性の不適切に制御された変更に関する脆弱性
Title i18nextのi18next-http-middlewareにおけるオブジェクトプロトタイプ属性の不適切に制御された変更に関する脆弱性
Summary

i18next-http-middlewareは、expressやFastifyなどのNode.jsウェブフレームワークやDenoで使用されるミドルウェアです。バージョン3.9.7以前では、missingKeyHandlerはリクエストボディのキー__proto__、constructor、およびprototype(3.9.3で追加、GHSA-5fgg-jcpf-8jjw参照)をブロックしていましたが、"__proto__.polluted"のようなドット付きの変種は拒否しませんでした。下流のバックエンド(特にi18next-fs-backend バージョン2.6.5以下)は、missing-key文字列を設定されたkeySeparatorで分割し、これらのキーを保護されていないsetPath()ウォーカーに渡してObject.prototypeに書き込みを行います。missingKeyHandlerを信頼できない入力に対して公開し、かつi18next-fs-backend バージョン2.6.5以下を使用するアプリケーションは、リモートプロトタイプ汚染の脆弱性を直接悪用される可能性があります。同様の方法でmissing-key文字列を分割する他の下流バックエンドも同様に影響を受ける可能性があります。ホストアプリケーションによっては、汚染されたプロトタイププロパティがクラッシュ、翻訳の破損、設定の汚染、またはプロパティベースのセキュリティチェックの回避を引き起こす可能性があります。この問題はバージョン3.9.7で修正されました。開発者が即時のアップグレードができない場合は、以下の対応を行うべきです:missingKeyHandlerを信頼できないユーザーに公開しない(認証の背後に設置するかルートを削除する)、ハンドラーの前にリクエストボディフィルターを追加し、設定されたkeySeparatorで分割した後に__proto__、constructor、またはprototypeを含むトップレベルキーを拒否し、信頼できない入力からの書き込みを受け入れる場合はmissing-keyの永続化(saveMissing: false)を無効にしてください。

Possible impacts ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 
Solution

ベンダ情報を参照して適切な対策を実施してください。

Publication Date June 15, 2026, midnight
Registration Date June 22, 2026, 11:32 a.m.
Last Update June 22, 2026, 11:32 a.m.
CVSS3.0 : 緊急
Score 9.1
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Affected System
i18next
i18next-http-middleware 3.9.7 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
No Changed Details Date of change
1 [2026年06月22日]
  掲載
June 22, 2026, 11:32 a.m.

NVD Vulnerability Information
CVE-2026-48714
Summary

i18next-http-middleware is a middleware to be used with Node.js web frameworks like express or Fastify and also for Deno. In versions prior to 3.9.7, the missingKeyHandler blocked the literal request-body keys __proto__, constructor, and prototype (added in 3.9.3, see GHSA-5fgg-jcpf-8jjw), but did not reject dotted variants such as "__proto__.polluted". Downstream backends that split the missing-key string on a configured keySeparator (notably i18next-fs-backend ≤ 2.6.5) hand these keys to an unguarded setPath() walker that writes to Object.prototype. Applications that expose missingKeyHandler to untrusted input AND use i18next-fs-backend ≤ 2.6.5 are directly exploitable for remote prototype pollution. Other downstream backends that split the missing-key string the same way may be similarly affected. Depending on the host application, polluted prototype properties may cause crashes, corrupted translation behaviour, configuration poisoning, or bypasses of property-based security checks. This issue has been fixed in version 3.9.7. If developers cannot upgrade immediately, they should do the following: do not expose missingKeyHandler to untrusted users (mount it behind authentication, or remove the route), add a request-body filter ahead of the handler that rejects any top-level key containing __proto__, constructor, or prototype after splitting on their configured keySeparator, and disable missing-key persistence (saveMissing: false) when accepting writes from untrusted input.

Publication Date June 16, 2026, 7:16 a.m.
Registration Date June 17, 2026, 4:16 a.m.
Last Update June 17, 2026, 12:46 a.m.
Related information, measures and tools
Common Vulnerabilities List