CVE-2024-24294

9.8 CRITICAL

📋 TL;DR

This CVE describes a Prototype Pollution vulnerability in Blackprint's @blackprint/engine v0.9.0 that allows attackers to execute arbitrary code through the _utils.setDeepProperty function. The vulnerability affects applications using this specific version of the Blackprint engine library. Successful exploitation could lead to complete system compromise.

💻 Affected Systems

Products:
  • Blackprint @blackprint/engine
Versions: v0.9.0
Operating Systems: All platforms running Node.js or JavaScript environments
Default Config Vulnerable: ⚠️ Yes
Notes: Applications using the vulnerable engine.min.js file are affected regardless of configuration.

⚠️ 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

Remote code execution leading to full system compromise, data exfiltration, and lateral movement within the network.

🟠

Likely Case

Arbitrary code execution in the context of the application, potentially leading to data theft, privilege escalation, or denial of service.

🟢

If Mitigated

Limited impact due to proper input validation, sandboxing, or network segmentation preventing exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Prototype Pollution vulnerabilities are well-understood attack vectors with public proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v0.9.1 or later

Vendor Advisory: https://github.com/Blackprint/Blackprint/releases

Restart Required: Yes

Instructions:

1. Update @blackprint/engine to v0.9.1 or later using npm update @blackprint/engine. 2. Restart all applications using the library. 3. Verify the update by checking package.json and node_modules.

🔧 Temporary Workarounds

Input Validation

all

Implement strict input validation for all user-controlled data passed to _utils.setDeepProperty function.

Object.freeze() on Prototype

all

Freeze Object.prototype to prevent prototype pollution attacks.

Object.freeze(Object.prototype);

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to limit script execution.
  • Isolate the vulnerable application in a network segment with restricted outbound access.

🔍 How to Verify

Check if Vulnerable:

Check package.json for @blackprint/engine version 0.9.0 or examine node_modules/@blackprint/engine/package.json.

Check Version:

npm list @blackprint/engine

Verify Fix Applied:

Verify @blackprint/engine version is 0.9.1 or higher in package.json and node_modules.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript errors related to prototype modification
  • Unexpected property assignments in object logs

Network Indicators:

  • Unusual outbound connections from the application
  • Suspicious payloads containing __proto__ or constructor properties

SIEM Query:

source="application_logs" AND ("prototype pollution" OR "__proto__" OR "constructor")

🔗 References

📤 Share & Export