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
Share

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

3
Patch available
Jun 18, 2026 - 22:16 EUVD
Source Code Evidence Fetched
Jun 18, 2026 - 20:47 vuln.today
Analysis Generated
Jun 18, 2026 - 20:47 vuln.today

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

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-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-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

CVE-2025-57347 CRITICAL POC
9.8 Sep 24

A vulnerability exists in the 'dagre-d3-es' Node.js package version 7.0.9, specifically within the 'bk' module's addConf

CVE-2025-57321 CRITICAL POC
9.8 Sep 24

A Prototype Pollution vulnerability in the util-deps.addFileDepend function of magix-combine-ex versions thru 1.2.10 all

CVE-2024-45435 CRITICAL POC
9.8 Aug 29

Chartist 1.x through 1.3.0 allows Prototype Pollution via the extend function. Rated critical severity (CVSS 9.8), this

Share

CVE-2026-49252 vulnerability details – vuln.today

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