🔍 CVE-2026-48714

9.1
CVSS Score
CRITICAL
2026-06-15
2026-06-18 15:21
✅ 완료

🇰🇷 한글 설명

i18next-http-middleware 3.9.7 미만 버전에서 발생하는 프로토타입 오염 취약점입니다. 공격자가 점 표기법(dotted variants)을 사용하여 '__proto__.polluted'와 같은 키를 전달하면, 특정 백엔드 설정에서 Object.prototype을 조작할 수 있습니다. 이는 애플리케이션의 충돌, 설정 오염 또는 보안 검사 우회로 이어질 수 있습니다.

💡 쉬운 설명

웹사이트의 언어 설정 기능을 악용하여 프로그램의 기본 설계도를 몰래 수정하는 공격입니다. 이를 통해 웹사이트를 멈추게 하거나 보안 장치를 무력화할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

i18next-http-middleware < 3.9.7 및 i18next-fs-backend ≤ 2.6.5

⚔️ 공격 벡터

신뢰할 수 없는 입력값에 점 표기법을 포함한 특수 키를 전달하여 프로토타입 오염 유도

🛡️ 대응 방법

i18next-http-middleware를 3.9.7 이상 버전으로 업데이트하거나, 입력값 필터링 및 saveMissing 옵션을 비활성화하십시오.

🔧 검증 코드

출력된 버전이 3.9.7 미만인지 확인하여 취약 여부를 판단합니다.

Shell / Script
npm list i18next-http-middleware

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H

💻 영향받는 소프트웨어

Node.js