Skip to main content

apidoc-core CVE-2025-13158

CRITICAL
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2025-12-26 103e4ec9-0a87-450b-af77-479448ddef11
9.3
CVSS 4.0 · Vendor: 103e4ec9-0a87-450b-af77-479448ddef11
View

Attack ChainAIDerived

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

  1. Access
    Supply crafted doc data structure
  2. Delivery
    Reach preProcess() worker parser
  3. Exploit
    Inject malicious 'define' property
  4. Execution
    Pollute Object.prototype chain
  5. Impact
    Trigger DoS or logic corruption

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 an application using apidoc-core (versions 0.2.0 and later) pass a malformed/attacker-influenced data structure - specifically one carrying a crafted 'define' property - into the preProcess() function of the api_group.js, api_param_title.js, api_use.js, or api_permission.js worker modules. The practical limiting factor is input provenance: apidoc-core normally parses developer-authored API documentation annotations, which are trusted build-time inputs, so real risk materializes only where an integrating application exposes this parsing to untrusted or externally-supplied data. No authentication is indicated by the provided vector (PR:N), and no user interaction is required (UI:N); impact is bounded to prototype-chain corruption effects (DoS / unintended behavior) rather than confirmed data theft.

Impact

The input assigns a Critical CVSS 4.0 base score of 9.3 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H), which on its face suggests remote, unauthenticated, no-interaction compromise of confidentiality, integrity, and availability. However, these signals should be treated with caution. No EPSS score, KEV listing, or POC was provided, so there is no public evidence of exploitation probability or active abuse - status is 'no public exploit identified at time of analysis.' More importantly, the CVSS impact metrics appear inflated relative to the description: CWE-1321 prototype pollution here 'potentially leads to denial of service or unintended behavior,' which maps far more naturally to availability/limited-integrity impact than to the full VC:H/VI:H/VA:H triad claimed. The AV:N rating is also questionable - apidoc-core is a Node.js documentation-generation library that parses developer-authored API annotation comments, which are normally trusted build-time inputs rather than remote attacker-controlled data; AV:N only holds if a downstream application feeds untrusted external input into the affected preProcess() functions. Net assessment: this is likely a high-CVSS-but-conditional-real-risk issue whose true severity depends entirely on whether an integrating application exposes apidoc-core parsing to untrusted input. Verify the intended data flow with the vendor advisory before treating it as a remotely exploitable priority.

Exploit ScenarioDerived

An application that embeds apidoc-core and passes externally-supplied or untrusted data into its parsing pipeline receives a malformed data structure containing a crafted 'define' property. When preProcess() in api_group.js, api_param_title.js, api_use.js, or api_permission.js processes it, the attacker pollutes Object.prototype, degrading or crashing the application (DoS) or inducing unintended logic that relies on prototype-chain integrity. No public exploit code was identified at time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 05, 2026

Prototype pollution in apidoc-core 0.2.0 and all later versions lets an attacker who can influence the data structures parsed by the library corrupt JavaScript object prototypes through a crafted 'define' property handled by the preProcess() function, potentially causing denial of service or unexpected behavior in the consuming application. The affected parsing is typically applied to developer-authored API annotation comments, which are trusted build-time inputs; real risk only materializes when an integrating application feeds untrusted or externally-supplied data into this parser. No public exploit identified at time of analysis, and no confirmed active exploitation (no KEV listing); the supplied CVSS 4.0 score of 9.3 (network, unauthenticated, high CIA impact) is not supported by the independent assessment, which rates the issue as a local-vector, low-integrity and low-availability impact flaw rather than a confirmed remote compromise.

RemediationAI

No vendor-released patch identified at time of analysis, so remediation must rely on compensating controls while a fixed release is tracked in the upstream apiDoc/apidoc-core repository and the Sonatype advisory (https://www.sonatype.com/security-advisories/cve-2025-13158). The most effective control is input provenance hardening: never pass untrusted, externally supplied, or user-modifiable data into apidoc-core's parsing/annotation pipeline, keeping documentation generation to trusted developer-authored comments only - the trade-off is that any feature relying on dynamic doc input must be reworked. If untrusted input is unavoidable, sanitize or schema-validate parsed structures before they reach preProcess(), rejecting or stripping reserved keys such as '__proto__', 'constructor', 'prototype' and the crafted 'define' property; this can break legitimate annotation names that collide with those keys. Additional hardening includes running the documentation build in an isolated, unprivileged, network-restricted container so a successful pollution/DoS cannot affect production, and freezing protection at the process level (e.g. Object.freeze(Object.prototype), Object.create(null) maps, or Node's --disable-proto=throw flag), which may break third-party libraries that legitimately mutate prototypes. Monitor the upstream package and advisory for an official fixed version and upgrade as soon as it is published.

Affected Packages

npm apidoc-core no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

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

Technical ContextAI · show details

apidoc-core is the parsing engine behind apiDoc, a documentation generator that reads structured annotation blocks from source comments and transforms them into JavaScript objects. The flaw is CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes, i.e. prototype pollution): the preProcess() logic in the worker modules api_group.js, api_param_title.js, api_use.js and api_permission.js does not block or validate reserved keys such as 'define' (and related prototype-chain keys), so a malformed structure passed into those routines can walk or write into Object.prototype. Because JavaScript objects inherit from a shared prototype chain, corrupting it affects every object created afterward in the same process, producing nondeterministic behavior, thrown errors, or resource exhaustion. The vulnerability is not a memory-safety or injection-to-RCE primitive on its own; its impact is bounded to prototype-chain corruption unless a downstream gadget in the host application converts the polluted properties into more severe behavior. Exploitation requires that attacker-influenced data reach the parser, and the independent assessment scores it CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L, indicating a local vector, no required authentication or interaction, and limited integrity/availability impact rather than the network-facing, high-CIA-impact profile implied by the input's 9.3 score.

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 (103e4ec9-0a87-450b-af77-479448ddef11) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.1 MEDIUM

apidoc-core parses locally-supplied documentation input so AV:L; prototype pollution yields limited integrity corruption and DoS (I:L/A:L) with no confidentiality impact, not the full triad.

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

Primary rating from Vendor (103e4ec9-0a87-450b-af77-479448ddef11).

CVSS VectorVendor: 103e4ec9-0a87-450b-af77-479448ddef11

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

DescriptionCVE.org

Prototype pollution vulnerability in apidoc-core versions 0.2.0 and all subsequent versions allows remote attackers to modify JavaScript object prototypes via malformed data structures, including the “define” property processed by the application, potentially leading to denial of service or unintended behavior in applications relying on the integrity of prototype chains. This affects the preProcess() function in api_group.js, api_param_title.js, api_use.js, and api_permission.js worker modules.

Executive ViewAI

Why It Matters

A prototype pollution issue affects apidoc-core 0.2.0 and all later versions, a build-time API documentation parser used in developer tooling. The practical business risk is limited to organizations that route untrusted or externally supplied content into this parser; typical trusted developer-annotation workflows do not create a remote compromise path. No public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis, so impacted teams should focus on preventing untrusted input from reaching the affected component while tracking vendor remediation.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified; restrict apidoc-core parsing to trusted developer-authored annotations, never feed untrusted or externally supplied data into the parser, run builds in isolated least-privilege environments, validate and sanitize inputs, and monitor the vendor for a fixed release.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Medium
popular Node.js/npm API-doc generation library, mostly build-time dependency
Data Quality
4 sources
Confidence: Medium

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.5%
Patch available No
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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