CVE-2024-36583

8.1 HIGH

📋 TL;DR

This CVE describes a Prototype Pollution vulnerability in the byondreal accessor library (version <=1.0.0) that allows attackers to modify JavaScript object prototypes. This can lead to arbitrary code execution, denial of service, or privilege escalation in applications using this vulnerable library.

💻 Affected Systems

Products:
  • @byondreal/accessor
Versions: <=1.0.0
Operating Systems: All platforms running Node.js
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using the vulnerable @byondreal/accessor library version is 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 complete system compromise, data exfiltration, or ransomware deployment.

🟠

Likely Case

Application compromise allowing data manipulation, privilege escalation within the application, or denial of service.

🟢

If Mitigated

Limited impact with proper input validation and sandboxing, potentially only causing application crashes.

🌐 Internet-Facing: HIGH - Web applications using this library could be exploited remotely without authentication.
🏢 Internal Only: MEDIUM - Internal applications could be exploited by authenticated users or through other attack vectors.

🎯 Exploit Status

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

Proof of concept available in GitHub gist references. Prototype pollution vulnerabilities are frequently weaponized due to their potential for RCE.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: >1.0.0

Vendor Advisory: https://gist.github.com/mestrtee/97bc2fbfbcbde3a54d5536c9adeee34c

Restart Required: Yes

Instructions:

1. Update package.json to use @byondreal/accessor version >1.0.0
2. Run 'npm update @byondreal/accessor'
3. Restart all affected applications
4. Test application functionality

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation and sanitization for all user-controlled data passed to accessor functions.

Object.freeze() on Prototypes

all

Freeze Object.prototype and other critical prototypes to prevent pollution.

Object.freeze(Object.prototype);
Object.freeze(Object.prototype.__proto__);

🧯 If You Can't Patch

  • Implement WAF rules to detect and block prototype pollution patterns in HTTP requests
  • Isolate affected applications in network segments with strict egress filtering

🔍 How to Verify

Check if Vulnerable:

Check package.json or package-lock.json for '@byondreal/accessor' version <=1.0.0

Check Version:

npm list @byondreal/accessor | grep @byondreal/accessor

Verify Fix Applied:

Verify installed version is >1.0.0 using 'npm list @byondreal/accessor'

📡 Detection & Monitoring

Log Indicators:

  • Unusual application crashes
  • Unexpected prototype modifications in logs
  • Suspicious input patterns in accessor calls

Network Indicators:

  • HTTP requests with unusual object patterns
  • Requests containing __proto__ or constructor properties

SIEM Query:

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

🔗 References

📤 Share & Export