Public mode

No access to your tenant or devices. Every item links to its source. What this means

Sources need attention Customize Public modeDiscuss ChangeIntel on Discord

sift 17.1.3 Prototype Pollution Remote Code Execution via $where

CVSS 4.0 9.2 CRITICALCVSS 3.1 8.1 HIGHCheck source for fixed versionsKEV status unknown

cve-program · CVE-2026-85625

Published

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.

Read the publisher's advisory

Affected versions, risk and source history

cve-program · CVE-2026-85625

Published

sift.js

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "vendor": "crcn",
                    "product": "sift.js",
                    "defaultStatus": "unaffected",
                    "packageURL": "pkg:npm/sift",
                    "versions": [
                        {
                            "version": "0",
                            "status": "affected",
                            "versionType": "semver",
                            "lessThanOrEqual": "17.1.3"
                        }
                    ]
                }

Original source record · Cite this exact observation · Complete original publisher JSON

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 13 Nov 15:18 UTC · 274 of 275 readable · 273 fully read · documentation 469/469 current