Detect Prototype Pollution in @deepstream/server (CVE-2026-49252) in Elastic Security
CVE-2026-49252 is a critical prototype pollution vulnerability (CVSS 9.9) in @deepstream/server versions prior to 10.0.5. An attacker can manipulate JavaScript object prototypes via crafted deepstream messages, potentially leading to remote code execution, privilege escalation, or denial of service within the Node.js server process.
MITRE ATT&CK
Elastic Detection Query
sequence by host.name with maxspan=5m
[process where event.action == "start"
and (process.name == "node" or process.name == "node.js")
and process.args : ("*deepstream*")]
[network where event.action in ("connection_attempted", "connection_accepted")
and destination.port in (6020, 6021, 6022)]
[process where event.action == "start"
and process.parent.name == "node"
and (
process.command_line : ("*__proto__*") or
process.command_line : ("*constructor*") or
process.env_vars : ("*prototype*")
)] EQL sequence detection: node process running deepstream followed by network activity on default deepstream ports, then a child process spawned with prototype pollution indicators.
Data Sources
Required Tables
False Positives & Tuning
- Misconfigured applications that log prototype chain references as part of verbose debug output
- Legitimate deepstream plugins or connectors that spawn child processes
- Penetration test environments intentionally exercising the vulnerability against patched instances
Other platforms for CVE-2026-49252
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Deepstream Prototype Pollution via Crafted Client Message
Expected signal: Node.js application logs should show receipt of a record set message with __proto__ key; process monitoring may show unexpected property on Object.prototype after message processing
- Test 2deepstream Server Version Enumeration
Expected signal: Process execution event for node reading package.json; stdout output containing version string below 10.0.5 confirms vulnerability
- Test 3Prototype Pollution Object Property Verification
Expected signal: Node.js process execution with inline script; stdout output 'YES - VULNERABLE' confirms Object.prototype susceptibility
Unlock Pro Content
Get the full detection package for CVE-2026-49252 including response playbook, investigation guide, and atomic red team tests.