CVE-2023-26113

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to perform prototype pollution attacks via the extend function in collection.js. It affects applications using collection.js versions before 6.8.1, potentially enabling modification of object prototypes that could lead to denial of service, remote code execution, or other security impacts.

💻 Affected Systems

Products:
  • collection.js
Versions: All versions before 6.8.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using vulnerable versions of collection.js with the extend function is affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, or service disruption.

🟠

Likely Case

Denial of service, application crashes, or unauthorized data manipulation.

🟢

If Mitigated

Limited impact with proper input validation and security controls in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Proof of concept available in GitHub issues; exploitation requires attacker-controlled input to the extend function.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 6.8.1

Vendor Advisory: https://github.com/kobezzza/Collection/releases/tag/v6.8.1

Restart Required: No

Instructions:

1. Update collection.js to version 6.8.1 or later. 2. Run 'npm update collection.js' or update package.json to '^6.8.1'. 3. Test application functionality after update.

🔧 Temporary Workarounds

Input validation and sanitization

all

Implement strict input validation for objects passed to the extend function to prevent prototype pollution.

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for all user inputs.
  • Use object-freeze or similar techniques to prevent prototype modification.

🔍 How to Verify

Check if Vulnerable:

Check package.json or run 'npm list collection.js' to see if version is below 6.8.1.

Check Version:

npm list collection.js

Verify Fix Applied:

Verify collection.js version is 6.8.1 or higher using 'npm list collection.js'.

📡 Detection & Monitoring

Log Indicators:

  • Unusual application crashes, unexpected object property modifications, or error logs related to prototype pollution.

Network Indicators:

  • Unusual HTTP requests with crafted JSON objects targeting extend function endpoints.

SIEM Query:

Search for application logs containing 'extend' function calls with suspicious object structures.

🔗 References

📤 Share & Export