Bug 2533311 (CVE-2026-85625) - CVE-2026-85625 sift: sift 17.1.3 Prototype Pollution Remote Code Execution via $where
Summary: CVE-2026-85625 sift: sift 17.1.3 Prototype Pollution Remote Code Execution vi...
Keywords:
Status: NEW
Alias: CVE-2026-85625
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-14 19:43 UTC by OSIDB Bzimport
Modified: 2026-09-15 12:19 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-14 19:43:06 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.