{"id":"CVE-2026-85625","summary":"sift 17.1.3 Prototype Pollution Remote Code Execution via $where","details":"sift (sift.js) 17.1.3 enumerates query keys with for...in, which walks the object prototype chain, and dispatches any matched operator key including $where. The $where operation compiles a string value into a function using new Function unless CSP_ENABLED is set (not set by default). As a result, if a prototype-pollution primitive elsewhere in the process sets Object.prototype.$where to a malicious string, even benign filter calls such as sift({}) execute arbitrary JavaScript. Additionally, passing an untrusted query object containing a string $where directly to sift results in code execution under the default configuration.","modified":"2026-09-06T03:47:18.345051837Z","published":"2026-09-04T14:32:15.388Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-1321"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85625.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85625.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-85625"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/sift-17.1.3-prototype-pollution-remote-code-execution-via-where"},{"type":"REPORT","url":"https://github.com/crcn/sift.js/issues/276"},{"type":"PACKAGE","url":"https://github.com/crcn/sift.js"},{"type":"ARTICLE","url":"https://github.com/crcn/sift.js/blob/v17.1.3/src/core.ts"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/crcn/sift.js","events":[{"introduced":"0"},{"last_affected":"8a9a4995d4a2a653bf9b68a7a2d72e02f05dfe03"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0"},{"last_affected":"17.1.3"}]}}],"versions":["v17.1.3","v17.1.2","v17.1.1","v17.1.0","v15.1.0","v15.0.0","v14.0.3","v14.0.2","v14.0.0","v14.0.1","v13.5.4","v13.5.3","v13.5.2","v13.5.1","v13.4.0","v13.3.5","v13.3.4","v13.3.3","v13.3.2","v13.3.1","v13.3.0","v13.2.0","v13.1.10","v13.1.9","v13.1.8","v13.1.7","v13.1.6","v13.1.5","v13.1.4","v13.1.2","v13.1.1","v13.0.6","v13.0.5","v13.0.4","v13.0.3","v13.0.2","v13.0.1","v13.0.0","v12.0.1","v12.0.0","v11.1.8","11.1.6","v11.1.7","11.1.7","11.1.5","11.1.4","11.1.3","11.1.2","11.1.0","11.0.11","11.0.1","9.0.7","9.0.6","9.0.3","9.0.1","9.0.0","8.5.0","8.4.0","v8.3.2","v8.3.1","v8.3.0","8.3.0","8.2.0","v8.1.0","8.0.1","7.0.1","7.0.0","6.0.0","5.1.0","5.0.0","4.0.0","3.3.12","3.3.11","3.3.8","3.3.7","3.3.6","3.3.5","v3.3.4","3.3.4","3.3.3","3.3.2","3.3.1","3.3.x","3.3.0","3.2.8","3.2.7","3.2.6","3.2.5","3.2.4","3.2.2","3.2.0","3.1.1","3.1.0","3.0.0","2.0.10","2.0.9","2.0.8","2.0.7","2.0.6","2.0.5","2.0.4","2.0.2","2.0.1","2.0.0","1.1.0","1.0.6","1.0.5","1.0.3","1.0.2","1.0.0","0.5.6","0.5.3","0.5.2","0.5.1","0.4.5","0.2.3","0.1.0","0.0.18","0.0.7","0.0.5","0.0.3","0.0.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-85625.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}