Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted JSON with __proto__ key to application endpoint
-
DeliveryApplication parses JSON and passes payload to deepExtend()
-
ExploitdeepExtend() merges __proto__ without key filtering
-
ExecutionObject.prototype mutated with attacker-controlled properties
-
PersistAll subsequent plain objects inherit injected properties
-
ImpactBypass security checks or corrupt application logic
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 | Exploitation requires that the target application uses |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N with VC:L/VI:L/VA:L and SC:N/SI:N/SA:N, E:P) yields a score of 5.5, reflecting low-complexity network exploitation with limited per-system impact. The CVSS 4.0 subsequent-system metrics (SC:N/SI:N/SA:N) understate real-world chained risk: prototype pollution in a JavaScript runtime is a scope-changing primitive - once |
| Exploit ScenarioDerived | An attacker sends a crafted HTTP POST request with the JSON body |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Prototype pollution in the @cleverbrush/deep package (versions ≤ 4.4.0) allows a remote attacker to corrupt Object.prototype by supplying crafted JSON containing reserved JavaScript keys (__proto__, constructor, prototype) to the deepExtend() function without any privilege requirement. Any Node.js application that passes externally controlled input through deepExtend() is at risk of property injection affecting every plain object in the runtime, potentially enabling authentication bypass or logic manipulation downstream. A public exploit exists (GitHub issue #213); the vulnerability is not listed in CISA KEV, so widespread active exploitation is not confirmed at time of analysis.
RemediationAI
Upgrade @cleverbrush/deep to version 4.4.1, which resolves the issue by filtering __proto__, constructor, and prototype keys at every recursion depth within deepExtend(). The patched release is tagged at https://github.com/cleverbrush/framework/releases/tag/%40cleverbrush/async%404.4.1 and the fix commit is 810398c1308c500c3b8b6af380b5a89371389327 (PR #215 at https://github.com/cleverbrush/framework/pull/215). If an immediate upgrade is blocked, two compensating controls exist: first, sanitize all user-supplied objects before passing them to deepExtend() by recursively deleting keys matching __proto__, constructor, or prototype at the application boundary - note this requires careful recursive traversal to cover nested payloads. Second, call Object.freeze(Object.prototype) at application startup to prevent runtime mutation of the prototype; this is effective but may break third-party libraries that legitimately extend Object.prototype, so thorough regression testing is required before deploying this in production.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerable component is deepExtend() in libs/deep/src/deepExtend.ts of the @cleverbrush/deep npm package (CPE: cpe:2.3:a:cleverbrush:deep:*:*:*:*:*:*:*:*), part of the broader cleverbrush framework monorepo (CPE: cpe:2.3:a:cleverbrush:framework:*:*:*:*:*:*:*:*). CWE-1321 describes the root cause class: JavaScript's prototype inheritance model means that properties assigned to Object.prototype are silently inherited by all subsequently created plain objects in the same runtime. Prior to the fix, deepExtend() recursively merged source objects into a target without filtering reserved keys; a payload such as {"__proto__":{"isAdmin":true}} would traverse the prototype chain and mutate the shared prototype. The patch (commit 810398c) introduces a compile-time UnsafeMergeKey union type (__proto__ | constructor | prototype) and runtime key filtering that causes those keys to be skipped at every recursion depth, confirmed by five new test cases covering top-level, nested, and multi-source scenarios.
Know when Framework 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Network-reachable with no auth required; S:C assigned because successful exploitation mutates Object.prototype, extending impact beyond the vulnerable component to the entire JavaScript runtime.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability has been found in cleverbrush framework and deep up to 4.4.0. This impacts the function deepExtend of the file libs/deep/src/deepExtend.ts. The manipulation leads to improperly controlled modification of object prototype attributes. Remote exploitation of the attack is possible. The exploit has been disclosed to the public and may be used. Upgrading to version 4.4.1 will fix this issue. The identifier of the patch is 810398c1308c500c3b8b6af380b5a89371389327. You should upgrade the affected component.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Laravel TokenGuard authentication bypass is a genuine high-priority issue, not an inflated CVSS score: unauthenticated a
Adive Framework 2.0.8 has admin/config CSRF to change the Administrator password. Rated high severity (CVSS 8.8), this v
Cross-site Scripting (XSS) - Reflected in GitHub repository nuxt/framework prior to v3.0.0-rc.13. Rated medium severity
Laravel is a web application framework. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no
Adive Framework 2.0.8 has admin/user/add userName XSS. Rated medium severity (CVSS 6.1), this vulnerability is remotely
Adive Framework 2.0.8 has admin/user/add userUsername XSS. Rated medium severity (CVSS 6.1), this vulnerability is remot
Laravel Framework through 8.70.2 does not sufficiently block the upload of executable PHP content because Illuminate/Val
Silverstripe silverstripe/framework through 4.11.0, silverstripe/assets through 1.11.0, and silverstripe/asset-admin thr
CRLF injection in Laravel Framework (CWE-93) enables unauthenticated remote attackers to manipulate outbound email proce
Silverstripe silverstripe/framework through 4.11 allows SQL Injection. Rated high severity (CVSS 8.8), this vulnerabilit
Unauthenticated remote denial of service in Vaadin Framework 8 (com.vaadin:vaadin-server 8.16.0 through 8.32.1, and vaad
Laravel is a web application framework. Rated high severity (CVSS 8.7), this vulnerability is remotely exploitable, no a
EUVD-2026-65304
GHSA-85f3-5c6p-wf9v
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB