CVE-2026-85625 in sift.js
요약
\~에 의해 VulDB • 2026. 09. 04.
sift (sift.js) 17.1.3은 `for...in`을 사용하여 쿼리 키를 열거하며, 이는 객체 프로토타입 체인을 탐색하고 `$where`를 포함한 일치하는 모든 연산자 키에 대해 디스패치합니다. `$where` 작업은 CSP_ENABLED가 설정되지 않은 경우(기본값으로 설정되어 있지 않음) `new Function`을 사용하여 문자열 값을 함수로 컴파일합니다. 그 결과, 프로세스 내 다른 곳에서 프로토타입 오염(primitive)이 발생하여 `Object.prototype.$where`를 악성 문자열로 설정하면, sift({})와 같은 정상적인 필터 호출도 임의의 JavaScript 코드를 실행하게 됩니다. 또한, 기본 구성에서 신뢰할 수 없는 쿼리 객체(문자열 `$where` 포함)를 직접 sift에 전달하는 경우에도 코드 실행이 발생합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.