CVE-2025-13158

N/A Unknown

📋 TL;DR

This CVE describes a prototype pollution vulnerability in apidoc-core that allows remote attackers to modify JavaScript object prototypes through malformed data structures. This can lead to denial of service or unintended behavior in applications that rely on the integrity of prototype chains. Anyone using apidoc-core versions 0.2.0 or later is affected.

💻 Affected Systems

Products:
  • apidoc-core
Versions: 0.2.0 and all subsequent versions
Operating Systems: All platforms running Node.js
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the preProcess() function across multiple worker modules (api_group.js, api_param_title.js, api_use.js, api_permission.js).

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete application compromise leading to remote code execution, data manipulation, or persistent denial of service across the entire application.

🟠

Likely Case

Application instability, denial of service, or unexpected behavior due to prototype chain corruption affecting multiple objects.

🟢

If Mitigated

Limited impact with proper input validation and sanitization, potentially causing only localized errors.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires sending malformed data structures with the 'define' property to vulnerable endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: https://www.sonatype.com/security-advisories/cve-2025-13158

Restart Required: Yes

Instructions:

1. Monitor the apidoc-core repository for security updates. 2. Apply the patch when available. 3. Restart all affected services.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation to reject malformed data structures containing the 'define' property.

Object.freeze() on Prototypes

all

Use Object.freeze() on critical object prototypes to prevent modification.

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for all user-supplied data.
  • Use web application firewalls (WAF) to block requests containing suspicious prototype pollution patterns.

🔍 How to Verify

Check if Vulnerable:

Check package.json for apidoc-core version 0.2.0 or higher.

Check Version:

npm list apidoc-core

Verify Fix Applied:

Verify that the apidoc-core version has been updated to a patched version when available.

📡 Detection & Monitoring

Log Indicators:

  • Unusual error messages related to prototype chains
  • Application crashes or unexpected behavior in api_group.js, api_param_title.js, api_use.js, or api_permission.js modules

Network Indicators:

  • HTTP requests containing malformed JSON with 'define' property
  • Unusual spikes in error responses from API endpoints

SIEM Query:

source="application_logs" AND ("prototype" OR "define" OR "api_group" OR "api_param_title" OR "api_use" OR "api_permission") AND ("error" OR "crash")

🔗 References

📤 Share & Export