Skip to main content

cleverbrush deep EUVDEUVD-2026-65304

| CVE-2026-78654 MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-08-25 VulDB GHSA-85f3-5c6p-wf9v
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Send crafted JSON with __proto__ key to application endpoint
  2. Delivery
    Application parses JSON and passes payload to deepExtend()
  3. Exploit
    deepExtend() merges __proto__ without key filtering
  4. Execution
    Object.prototype mutated with attacker-controlled properties
  5. Persist
    All subsequent plain objects inherit injected properties
  6. Impact
    Bypass 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 @cleverbrush/deep (or @cleverbrush/framework) at version 4.4.0 or earlier AND passes attacker-controlled data - such as a parsed JSON request body, query parameter, or file upload - into deepExtend() without prior sanitization of prototype-polluting keys. The CVSS PR:N metric confirms no authentication is required at the library level; however, exploitation is bounded by the application's exposure surface: if deepExtend() is only called with developer-controlled, hardcoded objects, the vulnerability is unexploitable regardless of the library version. Impact severity is further conditioned on how the host application uses plain-object properties for security or control-flow decisions - applications that do not rely on dynamic property lookups for access control are less impacted. No specific non-default configuration flag is required; the flaw exists in the default behavior of the function.

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 Object.prototype is mutated, every plain object inherits the injected properties, which can cascade into authentication bypasses, privilege escalation, or denial of service depending on how the host application consumes object properties. EPSS data was not provided in the input, so exploitation probability cannot be quantified numerically. The E:P supplemental tag and GitHub issue #213 confirm publicly available exploit code, which lowers the skill bar for exploitation. The CVE is absent from CISA KEV, so mass active exploitation is not confirmed. Real-world priority should be calibrated against whether any application endpoint exposes deepExtend() to attacker-controlled JSON; deployments that only call the function with hardcoded data carry negligible risk, while those parsing untrusted request bodies do not.

Exploit ScenarioDerived

An attacker sends a crafted HTTP POST request with the JSON body {"__proto__":{"isAdmin":true}} to any endpoint that parses the body and passes it to deepExtend() on versions ≤ 4.4.0. The function merges the payload recursively without filtering the __proto__ key, silently modifying Object.prototype so that every subsequent plain object literal in the process inherits isAdmin: true. If the application evaluates if (req.user.isAdmin) using a plain object lookup, the attacker gains elevated privileges without valid credentials. A public proof-of-concept demonstrating this vector is linked in GitHub issue #213.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

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

deep 4.3
framework 4.3
deep 4.1
deep 4.2
framework 4.2
framework 4.0
deep 4.4.0
deep 4.0
framework 4.4.0
framework 4.1

Affected Packages

euvd deep no fix
euvd framework no fix

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

Vendor (VulDB) PRIMARY 5.5 MEDIUM
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
vuln.today AI 8.3 HIGH

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.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Aug 25, 2026 - 06:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Aug 25, 2026 - 06:00 cve.org
MEDIUM 5.5

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

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
niche JavaScript utility package, limited known enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-114509 CRITICAL POC
9.2 Oct 21

Laravel TokenGuard authentication bypass is a genuine high-priority issue, not an inflated CVSS score: unauthenticated a

CVE-2020-7991 HIGH POC
8.8 Jan 26

Adive Framework 2.0.8 has admin/config CSRF to change the Administrator password. Rated high severity (CVSS 8.8), this v

CVE-2022-4413 MEDIUM POC
6.1 Dec 12

Cross-site Scripting (XSS) - Reflected in GitHub repository nuxt/framework prior to v3.0.0-rc.13. Rated medium severity

CVE-2021-43808 MEDIUM POC
6.1 Dec 08

Laravel is a web application framework. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no

CVE-2020-7990 MEDIUM POC
6.1 Jan 26

Adive Framework 2.0.8 has admin/user/add userName XSS. Rated medium severity (CVSS 6.1), this vulnerability is remotely

CVE-2020-7989 MEDIUM POC
6.1 Jan 26

Adive Framework 2.0.8 has admin/user/add userUsername XSS. Rated medium severity (CVSS 6.1), this vulnerability is remot

CVE-2021-43617 CRITICAL POC
9.8 Nov 14

Laravel Framework through 8.70.2 does not sufficiently block the upload of executable PHP content because Illuminate/Val

CVE-2022-38724 MEDIUM POC
5.4 Nov 23

Silverstripe silverstripe/framework through 4.11.0, silverstripe/assets through 1.11.0, and silverstripe/asset-admin thr

CVE-2026-48019 HIGH
8.9 Sep 04

CRLF injection in Laravel Framework (CWE-93) enables unauthenticated remote attackers to manipulate outbound email proce

CVE-2022-38148 HIGH
8.8 Nov 21

Silverstripe silverstripe/framework through 4.11 allows SQL Injection. Rated high severity (CVSS 8.8), this vulnerabilit

CVE-2026-110803 HIGH
8.7 Oct 21

Unauthenticated remote denial of service in Vaadin Framework 8 (com.vaadin:vaadin-server 8.16.0 through 8.32.1, and vaad

CVE-2024-52301 HIGH POC
8.7 Nov 12

Laravel is a web application framework. Rated high severity (CVSS 8.7), this vulnerability is remotely exploitable, no a

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