CVE-2020-28502 Arbitrary Code Injection
Attackers can execute arbitrary code via malicious input in synchronous requests using vulnerable Node.js HTTP libraries.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-28502?
CVE-2020-28502 is a high-severity code injection vulnerability in xmlhttprequest, published on 5 Mar 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
This affects the package xmlhttprequest before 1.7.0; all versions of package xmlhttprequest-ssl. Provided requests are sent synchronously (async=False on xhr.open), malicious user input flowing into xhr.send could result in arbitrary code being injected and run.
Weakness: CWE-94
Which versions are affected by CVE-2020-28502?
4 open source packages ship an affected version, including xmlhttprequest and xmlhttprequest-ssl. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
xmlhttprequest npm | All versions | 1.7.0 |
xmlhttprequest npm | All versions | 1.7.0 |
xmlhttprequest-ssl npm | All versions | 1.6.2 |
xmlhttprequest-ssl npm | All versions | 1.6.2 |
Products include Xmlhttprequest Project Xmlhttprequest.
How do I fix CVE-2020-28502?
Upgrade xmlhttprequest to 1.7.0 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2020-28502 being exploited?
There is no known exploitation of CVE-2020-28502 in the wild and no public exploit code.
Public exploit code: 2 proofs of concept on GitHub.
Sources
Also known as CLSA-2026-1777336760, DEBIAN-CVE-2020-28502, GHSA-h4j5-c7cj-74xg, UBUNTU-CVE-2020-28502.