i18next-http-middleware는 express나 Fastify 같은 Node.js 웹 프레임워크는 물론 Deno에도 사용할 수 있는 미들웨어입니다. 3.9.7 이전 버전에서는 누락된KeyHandler가 리터럴 요청 본문 키 __proto__, 생성자 및 프로토타입(3.9.3에 추가됨, GHSA-5fgg-jcpf-8jjw 참조)을 차단했지만 "__proto__.polluted"와 같은 점으로 구분된 변형은 거부하지 않았습니다. 구성된 keySeparator(특히 i18next-fs-backend ≤ 2.6.5)에서 누락된 키 문자열을 분할하는 다운스트림 백엔드는 이러한 키를 un에 전달합니다.
i18next-http-middleware는 express나 Fastify 같은 Node.js 웹 프레임워크는 물론 Deno에도 사용할 수 있는 미들웨어입니다. 3.9.7 이전 버전에서는 누락된KeyHandler가 리터럴 요청 본문 키 proto, 생성자 및 프로토타입(3.9.3에 추가됨, GHSA-5fgg-jcpf-8jjw 참조)을 차단했지만 "proto.polluted"와 같은 점으로 구분된 변형은 거부하지 않았습니다. 구성된 keySeparator(특히 i18next-fs-backend ≤ 2.6.5)에서 누락된 키 문자열을 분할하는 다운스트림 백엔드는 이러한 키를 Object.prototype에 쓰는 보호되지 않은 setPath() 워커에 전달합니다. 누락된KeyHandler를 신뢰할 수 없는 입력에 노출하고 i18next-fs-backend ≤ 2.6.5를 사용하는 애플리케이션은 원격 프로토타입 오염에 직접적으로 악용될 수 있습니다. 누락된 키 문자열을 동일한 방식으로 분할하는 다른 다운스트림 백엔드도 비슷한 영향을 받을 수 있습니다. 호스트 애플리케이션에 따라 오염된 프로토타입 속성은 충돌, 손상된 번역 동작, 구성 중독 또는 속성 기반 보안 검사 우회를 유발할 수 있습니다. 이 문제는 버전 3.9.7에서 수정되었습니다. 개발자가 즉시 업그레이드할 수 없는 경우 MissingKeyHandler를 신뢰할 수 없는 사용자에게 노출하지 말고(인증 뒤에 마운트하거나 경로 제거), 구성된 keySeparator에서 분할한 후 proto, 생성자 또는 프로토타입을 포함하는 최상위 키를 거부하는 핸들러 앞에 요청 본문 필터를 추가하고, 신뢰할 수 없는 입력에서 쓰기를 허용할 때 누락 키 지속성을 비활성화(saveMissing: false)해야 합니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 91.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 91.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| OSV3rd | 3.1 | 9.1 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H | 2026. 06. 26. |
| NVDNIST | 3.1 | 9.1 | CRITICAL |
| CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H |
| 2026. 06. 16. |