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.

Project Subscriptions

Vendors Products
Sift.js Subscribe
Advisories

No advisories yet.

Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Wed, 16 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-94
References
Metrics threat_severity

None

threat_severity

Important


Mon, 14 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 07 Sep 2026 08:45:00 +0000

Type Values Removed Values Added
First Time appeared Crcn
Crcn sift.js
Vendors & Products Crcn
Crcn sift.js

Fri, 04 Sep 2026 14:45:00 +0000

Type Values Removed Values Added
Description 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.
Title sift 17.1.3 Prototype Pollution Remote Code Execution via $where
Weaknesses CWE-1321
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.2, 'vector': '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'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-14T19:33:09.188Z

Reserved: 2026-09-04T11:03:33.316Z

Link: CVE-2026-85625

cve-icon Vulnrichment

Updated: 2026-09-14T19:24:21.251Z

cve-icon NVD

Status : Deferred

Published: 2026-09-04T15:17:42.880

Modified: 2026-09-14T20:16:58.987

Link: CVE-2026-85625

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-04T14:32:15Z

Links: CVE-2026-85625 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-07T08:26:32Z

Weaknesses