🇰🇷 한글 설명
jsonpath 1.3.0 이전 버전은 사용자 입력 JSON Path 표현식의 안전하지 않은 평가로 인해 임의 코드 주입에 취약합니다. static-eval 모듈을 사용하여 신뢰할 수 없는 데이터를 처리하므로, 공격자가 악의적인 표현식을 제공하면 Node.js 환경에서 RCE 또는 브라우저에서 XSS를 초래합니다.
💡 쉬운 설명
jsonpath 라이브러리가 사용자 입력을 안전하게 검증하지 않아 해킹 코드를 실행할 수 있습니다. 이를 통해 서버 시스템을 장악하거나 사용자 브라우저를 조종할 수 있습니다.
🇺🇸 원문 (English)
Versions of the package jsonpath before 1.3.0 are vulnerable to Arbitrary Code Injection via unsafe evaluation of user-supplied JSON Path expressions. The library relies on the static-eval module to process JSON Path input, which is not designed to handle untrusted data safely. An attacker can exploit this vulnerability by supplying a malicious JSON Path expression that, when evaluated, executes arbitrary JavaScript code, leading to Remote Code Execution in Node.js environments or Cross-site Scripting (XSS) in browser contexts. This affects all methods that evaluate JSON Paths against objects, including .query, .nodes, .paths, .value, .parent, and .apply.
📍 영향받는 시스템
Node.js npm 패키지 jsonpath < 1.3.0 모든 버전
⚔️ 공격 벡터
Malicious JSON Path expression을 query, nodes, paths, value, parent, apply 메서드에 입력하여 JavaScript 코드 실행
🛡️ 대응 방법
jsonpath를 1.3.0 이상으로 즉시 업그레이드: npm install jsonpath@^1.3.0
🔧 검증 코드
버전이 1.3.0 이상이면 안전, 이하이면 취약 상태
npm list jsonpath 2>/dev/null | grep 'jsonpath@' | sed 's/.*@//'