Skip to main content

compromise NLP CVE-2026-15699

| EUVDEUVD-2026-43743 LOW
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-07-14 VulDB GHSA-29jc-r7wj-73vf
2.1
CVSS 4.0 · Vendor: VulDB

Severity by source

Vendor (VulDB) PRIMARY
2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.3 MEDIUM

PR:L reflects required low-privilege access to invoke nlp.extend() with controlled input; S:U and Low C/I/A match the prototype pollution's contained, partial impact with no cross-system scope change.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

5
Source Code Evidence Fetched
Jul 14, 2026 - 16:34 vuln.today
Analysis Generated
Jul 14, 2026 - 16:34 vuln.today
Severity Changed
Jul 14, 2026 - 16:22 NVD
MEDIUM LOW
CVSS changed
Jul 14, 2026 - 16:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Jul 14, 2026 - 15:45 cve.org
LOW 2.1

DescriptionCVE.org

A vulnerability was identified in spencermountain compromise up to 14.15.1. Affected is the function nlp.extend of the file src/API/extend.js of the component Public Root API. The manipulation of the argument plugin leads to improperly controlled modification of object prototype attributes. Remote exploitation of the attack is possible. The exploit is publicly available and might be used. The identifier of the patch is b4644ab7179700df0607521f61c1ee9b5f78d89d. Applying a patch is the recommended action to fix this issue. The vendor was contacted early, responded in a very professional manner and quickly released a fixed version of the affected product.

AnalysisAI

Prototype pollution in compromise (spencermountain/compromise) through version 14.15.1 exposes all JavaScript applications using the library to Object.prototype contamination via the nlp.extend() Public Root API. A low-privileged remote attacker who can supply a crafted plugin argument containing __proto__, constructor, or prototype keys can inject properties into the global Object.prototype, producing partial confidentiality, integrity, and availability impact across the Node.js runtime. A public exploit exists via GitHub issue #1208, a vendor patch has been released (commit b4644ab7), and no CISA KEV listing has been confirmed at time of analysis.

Technical ContextAI

Compromise is a widely-used JavaScript NLP library (CPE: cpe:2.3:a:spencermountain:compromise:*:*:*:*:*:*:*:*). The vulnerability resides in the mergeDeep() helper within src/API/extend.js, which is invoked when application code calls nlp.extend(plugin). The function iterates over plugin object keys and recursively merges them into the library's internal model without sanitizing prototype-chain keys. An attacker supplying an object with __proto__, constructor, or prototype as keys triggers CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes), polluting Object.prototype for the entire JavaScript heap. Because all objects in V8 inherit from Object.prototype, injected properties propagate to every object instantiated after the pollution, potentially altering null-checks, guard conditions, or security-sensitive property lookups throughout the host application. The fix (commit b4644ab7) introduces an isUnsafeKey() guard that skips these three dangerous keys in both the model-merge and methods-merge loops, with regression tests covering __proto__, constructor.prototype, and prototype key injection paths.

RemediationAI

The primary remediation is to apply the upstream patch by upgrading to the first compromise release incorporating commit b4644ab7179700df0607521f61c1ee9b5f78d89d - verify the exact patched version tag on the npm registry (https://www.npmjs.com/package/compromise) or GitHub releases, as the available data does not confirm a specific version number beyond 14.15.1. The VulDB advisory is at https://vuldb.com/vuln/378246. If an immediate upgrade is not feasible, restrict all invocations of nlp.extend() to hardcoded, developer-controlled plugin objects and explicitly prohibit passing any user-supplied, environment-derived, or third-party-loaded data as the plugin argument; this eliminates the attacker-controlled input path that enables exploitation. As an additional defensive layer, apply an Object.prototype freeze or use a prototype-pollution sanitization library (e.g., deep-clean) at application startup, though this may have compatibility side effects with other libraries that legitimately extend prototypes. Avoid using compromise in configurations where plugin data originates from untrusted sources until the patch is applied.

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-15699 vulnerability details – vuln.today

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