Skip to main content

deepstream.io CVE-2026-49252

| EUVDEUVD-2026-37943 CRITICAL
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-06-18 GitHub_M GHSA-9v98-6g37-x9g6
9.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege client
  2. Delivery
    Identify any writable record
  3. Exploit
    Send record update with path '__proto__.isAdmin'
  4. Execution
    Pollute Object.prototype in server process
  5. Persist
    Valve permission checks inherit attacker-controlled property
  6. Impact
    Escalate privileges across all records

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated deepstream.io client session (PR:L in the vendor vector) that holds write permission to at least one record under the server's Valve permission rules, network reachability to the deepstream server's client port, and a server running a version prior to 10.0.5 with the default json-path utility - no user interaction, no admin role, and no non-default feature flag is needed. Exploitation is limited where Valve rules deny write to all records for the attacker's identity, where the deployment fronts deepstream with a proxy that filters record-update payloads for prototype tokens, or where the server has already been restarted onto 10.0.5+; the attack is in-process to Node.js, so multi-process/clustered deployments must have every worker patched to be safe.

Impact

Vendor CVSS 3.1 of 9.9 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L) reflects a network-reachable, low-complexity attack from any authenticated record-writer, with scope change because polluting Object.prototype reaches code outside the record subsystem (notably the permission valve seen in the diff) - a credible justification for S:C rather than CVSS inflation. No EPSS, KEV, or SSVC data was supplied, and CISA KEV does not list this CVE, so the operative signals are the publicly visible patch commit plus regression tests that effectively spell out the vulnerable inputs (__proto__.polluted, constructor.prototype.polluted), which materially lowers the barrier to weaponisation even though no standalone PoC was published. The main limiter is the PR:L precondition: an attacker needs a valid client session with write permission to at least one record, which on hardened deployments (strict Valve rules, anonymous writes disabled) is non-trivial, but on default or permissive deployments - common for collaboration/sync apps - is the normal user role, so this should be treated as a high-priority patch rather than a theoretical issue.

Exploit ScenarioDerived

An attacker logs in as a normal deepstream client with write access to even one record (the default for many collaborative-app deployments) and sends a record-update message such as record set with path '__proto__.isAdmin' and value true. The unsafe setValue walks through Object.prototype, so every subsequent object - including data evaluated by the Valve permission engine on later requests - inherits isAdmin=true, allowing the attacker to bypass per-record access controls and escalate privileges across the entire deepstream cluster until the process is restarted.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 18, 2026

Prototype pollution in deepstream.io versions prior to 10.0.5 allows an authenticated client with write permission to any record to corrupt the Node.js Object prototype by submitting record-update messages whose path contains tokens such as __proto__, constructor, or prototype. Because deepstream's permission valve and record-transition pipeline both invoke setValue with the attacker-controlled path, polluting the prototype can taint subsequent permission and transition logic and lead to privilege escalation across all connected clients. No public exploit identified at time of analysis, though the upstream commit (54b8e29) and patch tests publicly demonstrate the exact vulnerable path semantics.

RemediationAI

Vendor-released patch: deepstream.io 10.0.5 - upgrade the server package to 10.0.5 or later per GHSA-9v98-6g37-x9g6 (https://github.com/deepstreamIO/deepstream.io/security/advisories/GHSA-9v98-6g37-x9g6) and commit 54b8e2958a98df444b5b5d9a66e22872afd84e44, which introduces isValidPath rejecting __proto__/constructor/prototype tokens and wraps the permission-valve setValue in try/catch. If immediate upgrade is not possible, tighten Valve permission rules so that no client identity (especially anonymous/guest) holds write permission on any record, since exploitation requires write on at least one record; review and revoke broad 'write: true' rules. As a stopgap at the edge, inspect incoming record messages and drop any whose path contains the substrings '__proto__', 'constructor', or 'prototype' (matches the FORBIDDEN_KEYS set added in the fix) - note this can break legitimate keys that happen to contain those substrings if you do partial matching, so prefer segment-level checks. Restart the Node.js process after applying any mitigation to clear any prototype pollution that may already be present in memory.

Affected VersionsENISA

deepstream.io < 10.0.5

Affected Packages

npm @deepstream/server fix: 10.0.5
euvd deepstream_io fix: 10.0.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

deepstream.io is a Node.js/TypeScript realtime server that synchronises JSON 'records' between clients and backend services, applying per-path updates via an internal JSON-pointer utility (src/utils/json-path.ts) whose setValue function walks an object by string-tokenised keys. The root cause is CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes): the pre-10.0.5 tokenizer accepted segments like __proto__, constructor, and prototype, so a record update at message.path = '__proto__.polluted' caused setValue(record, path, value) to write through Object.prototype rather than into the record. The same unsafe setValue is reached from two paths in the patch diff - RecordTransition (handlers/record/record-transition.ts), which now pre-validates paths with isValidPath, and the permission valve RuleApplication (services/permission/valve/rule-application.ts), which now wraps setValue in try/catch - confirming both the record-write surface and the permission-evaluation surface processed attacker paths. CPE cpe:2.3:a:deepstreamio:deepstream.io:*:*:*:*:*:*:*:* identifies the affected package on npm/GitHub.

Know when Prototype Pollution gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L
vuln.today AI 9.9 CRITICAL

Network-reachable client protocol (AV:N), trivial crafted path (AC:L), needs an authenticated writer (PR:L), no UI; prototype pollution leaves the record subsystem and taints the permission valve, so S:C with high C/I and low A.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

1
Patch available
Jun 18, 2026 - 22:16 EUVD

DescriptionCVE.org

deepstream is a server that allows clients and backend services to sync data, send messages and make rpcs at scale. Versions prior to 10.0.5 are vulnerable to Prototype Pollution. Exploitation can lead to potential privilege escalation from any authenticated user with write permission to any record. This issue has been fixed in version 10.0.5.

Executive ViewAI

Why It Matters

deepstream.io versions prior to 10.0.5 contain a critical prototype pollution vulnerability (CVE-2026-49252, CVSS 9.9) enabling authenticated users with write permissions to escalate privileges across all connected clients. Organizations using affected versions face risk of unauthorized access elevation, data corruption, and circumvention of permission controls affecting real-time data operations and compliance posture.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce principle of least privilege by restricting write permissions to deepstream records only to trusted internal users; implement network segmentation blocking untrusted client connections; deploy independent application-level permission validation that does not rely on prototype chain integrity; establish continuous monitoring of permission audit logs for anomalous privilege grants or access patterns.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Partial

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

CVE-2026-34621 HIGH POC
8.6 Apr 11

Prototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu

CVE-2021-23450 CRITICAL POC
9.8 Dec 17

All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (

CVE-2024-56059 CRITICAL
9.8 Dec 18

Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau

CVE-2021-23383 CRITICAL POC
9.8 May 04

The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co

CVE-2020-7788 CRITICAL POC
9.8 Dec 11

This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2020-28271 CRITICAL POC
9.8 Nov 12

Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service

CVE-2023-38894 CRITICAL POC
9.8 Aug 16

A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi

CVE-2024-24292 CRITICAL POC
9.8 Mar 28

A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function

CVE-2023-26121 CRITICAL POC
10.0 Apr 11

All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s

CVE-2021-23449 CRITICAL POC
10.0 Oct 18

This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr

CVE-2024-39011 CRITICAL POC
9.8 Jul 30

Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser

CVE-2024-38988 CRITICAL POC
9.8 Mar 28

alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy