🔍 CVE-2026-15195

6.3
CVSS Score
MEDIUM
2026-07-09
2026-11-02 09:17
✅ 완료

🇰🇷 한글 설명

apidevtools json-schema-ref-parser 라이브러리의 lib/pointer.ts에 있는 Refs.set/Pointer.set 함수에서 부적절한 제어로 인해 객체 프로토타입 속성이 변경될 수 있는 취약점이 발견되었습니다. 공격자가 조작된 포인터를 $Refs.set() API에 전달하면 원격에서 공격이 가능하며, 버전 15.3.6에서 수정되었습니다. 해당 취약점은 애플리케이션이 공격자 제어 포인터를 해당 API에 전달하는 경우에만 악용 가능합니다.

💡 쉬운 설명

이 라이브러리를 사용하는 프로그램이 외부에서 받은 특정 경로 값을 그대로 처리하면, 공격자가 자바스크립트의 기본 객체 설정을 몰래 바꿀 수 있습니다. 취약점은 해당 기능에 외부 입력이 전달될 때만 문제가 됩니다.

🇺🇸 원문 (English)

A weakness has been identified in apidevtools json-schema-ref-parser. This impacts the function Refs.set/Pointer.set in the library lib/pointer.ts. Executing a manipulation can lead to improperly controlled modification of object prototype attributes. The attack can be launched remotely. Upgrading to version 15.3.6 will fix this issue. This patch is called a786bc6afc3674f650496472ee93d5cf74c4bd84. It is suggested to upgrade the affected component. The project maintainer confirms: "I reproduced prototype pollution through the public $Refs.set() API in published versions 7.1.4, 9.0.0, 11.0.0, 14.0.0, 14.2.1, 15.3.0, and 15.3.5. The same pointer is rejected by 15.3.6 without modifying Object.prototype. This reported path requires an application to pass an attacker-controlled pointer to $Refs.set(); dependency presence alone does not establish exploitability."

📍 영향받는 시스템

json-schema-ref-parser 7.1.4, 9.0.0, 11.0.0, 14.0.0, 14.2.1, 15.3.0, 15.3.5 버전 (15.3.6 미만 전체 영향 가능)

⚔️ 공격 벡터

애플리케이션이 공격자가 조작한 포인터 문자열을 $Refs.set() API에 전달하도록 유도하여 객체 프로토타입 오염을 일으킴

🛡️ 대응 방법

json-schema-ref-parser를 15.3.6 이상으로 업그레이드하고, 외부 입력이 포인터로 전달되지 않도록 입력값을 검증합니다.

🔧 검증 코드

출력된 버전이 15.3.6 미만이면 취약하므로 업그레이드가 필요하며, 15.3.6 이상이면 패치가 적용된 상태입니다.

Shell / Script
npm ls json-schema-ref-parser 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Oracle Application Object Library