Listen to this Post
How the CVE Works:
CVE-2021-23343 is a prototype pollution vulnerability in Node.js `http` module. The flaw arises when user-supplied input is improperly sanitized, allowing attackers to inject malicious properties into Object.prototype
. This can lead to denial of service (DoS), remote code execution (RCE), or data manipulation. The issue stems from the `handle` function in lib/_http_server.js
, where crafted HTTP headers can pollute global prototypes. Attackers exploit this by sending specially crafted requests, modifying default object behaviors and potentially compromising the application.
DailyCVE Form:
Platform: Node.js
Version: < 12.22.1, < 14.16.1, < 15.14.0
Vulnerability: Prototype Pollution
Severity: High
Date: 2021-03-30
Prediction: Patch expected by 2021-04-15
What Undercode Say:
npm audit node -v Check version curl -H "X-Exploit: <strong>proto</strong>" http://target
How Exploit:
Craft HTTP headers with `__proto__` payloads to pollute global objects. Example:
GET / HTTP/1.1 Host: target X-Malicious: {"<strong>proto</strong>":{"isAdmin":true}}
Protection from this CVE:
- Update Node.js to patched versions (12.22.1, 14.16.1, 15.14.0).
- Sanitize user input in HTTP headers.
- Use
Object.freeze(Object.prototype)
.
Impact:
- DoS, RCE, or privilege escalation.
- Compromised application integrity.
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode