CVE-2020-28502
Arbitrary Code Injection
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
Arbitrary Code Injection
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.
- Record
CVE-2020-28502- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P/RL:O/RC:C - Updated
- 2026-11-02
EUVDEUVD-2021-1094
8.1
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.
- Record
EUVD-2021-1094- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P/RL:O/RC:C - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-h4j5-c7cj-74xg
9.8
xmlhttprequest and xmlhttprequest-ssl vulnerable to Arbitrary Code Injection
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.
- Record
GHSA-h4j5-c7cj-74xg- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-94
- Updated
- 2026-11-02
NVD
8.1
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.
- Record
CVE-2020-28502- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-94
- Updated
- 2026-11-02
OSV
8.1
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.
- Record
CVE-2020-28502- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-28502
8.1
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.
- Record
DEBIAN-CVE-2020-28502- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVGHSA-h4j5-c7cj-74xg
9.8
xmlhttprequest and xmlhttprequest-ssl vulnerable to Arbitrary Code Injection
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.
- Record
GHSA-h4j5-c7cj-74xg- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-94
- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2020-28502
8.1
CVE-2020-28502 in xmlhttprequest-ssl - Patched by Root
Root has patched CVE-2020-28502 in the xmlhttprequest-ssl package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2020-28502- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-06
OSVUBUNTU-CVE-2020-28502
8.1
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.
- Record
UBUNTU-CVE-2020-28502- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1772064638 No score
TuxCare security update for xmlhttprequest-ssl (2 CVEs)
TuxCare rebuilt xmlhttprequest-ssl to address 2 CVEs. Fixed in 1.5.5-tuxcare.1.
- Record
CLSA-2026-1772064638- Updated
- 2026-11-02
OSVCLSA-2026-1773188115 No score
TuxCare security update for xmlhttprequest-ssl (2 CVEs)
TuxCare rebuilt xmlhttprequest-ssl to address 2 CVEs. Fixed in 1.5.3-tuxcare.1.
- Record
CLSA-2026-1773188115- Updated
- 2026-11-02
OSVCLSA-2026-1777336760 No score
TuxCare security update for xmlhttprequest (1 CVE)
TuxCare rebuilt xmlhttprequest to address 1 CVE. Fixed in 1.4.2-tuxcare.1.
- Record
CLSA-2026-1777336760- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
xmlhttprequestnpm |
before 1.7.0 | 1.7.0 |
xmlhttprequest-sslnpm |
before 1.6.2 | 1.6.2 |
xmlhttprequest-sslTuxCare:npm From an advisory covering 2 CVEs |
1.5.5-tuxcare.0 up to 1.5.5-tuxcare.1, plus listed versions 1.5.5 |
1.5.5-tuxcare.1 |
xmlhttprequest-sslTuxCare:npm From an advisory covering 2 CVEs |
1.5.3-tuxcare.0 up to 1.5.3-tuxcare.1, plus listed versions 1.5.3 |
1.5.3-tuxcare.1 |
xmlhttprequestTuxCare:npm |
1.4.2-tuxcare.0 up to 1.4.2-tuxcare.1, plus listed versions 1.4.2 |
1.4.2-tuxcare.1 |
node-xmlhttprequestDebian:12 |
before 1.8.0-1 | 1.8.0-1 |
node-xmlhttprequestDebian:13 |
before 1.8.0-1 | 1.8.0-1 |
node-xmlhttprequestDebian:14 |
before 1.8.0-1 | 1.8.0-1 |
xmlhttprequest-sslRoot:npm |
before 1.5.5-aikido.1 | 1.5.5-aikido.1 |
@rootio/xmlhttprequest-sslRoot:npm |
before 1.5.5-root.io.1 | 1.5.5-root.io.1 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
node-xmlhttprequestUbuntu:16.04:LTS |
All versions, plus listed versions 1.6.0-1 |
None known |
node-xmlhttprequestUbuntu:18.04:LTS |
All versions, plus listed versions 1.6.0-1 |
None known |
node-xmlhttprequest-sslUbuntu:18.04:LTS |
All versions, plus listed versions 1.6.0-1 |
None known |
node-xmlhttprequest-sslUbuntu:20.04:LTS |
All versions, plus listed versions 1.6.0-1 |
None known |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | s-index/CVE-2020-28502 | 2021-05-12 |
| PoC in GitHub | dpredrag/CVE-2020-28502 | 2021-07-28 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | OSV | |
| affected, exploits, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-28502 is a high vulnerability (CVSS 8.1) in Xmlhttprequest Project Xmlhttprequest, published March 5, 2021. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 4.63%, the 91st percentile. Fixed in xmlhttprequest 1.7.0.
References
snyk.io/vuln/SNYK-JS-XMLHTTPREQUEST-1082935
snyk.io/vuln/SNYK-JS-XMLHTTPREQUESTSSL-1082936
snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1082937
snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1082938
github.com/driverdan/node-XMLHttpRequest/blob/1.6.0/lib/XMLHttpRequest.js%23L480
nvd.nist.gov/vuln/detail/CVE-2020-28502
Show 8 moreShow less
github.com/driverdan/node-XMLHttpRequest/commit/983cfc244c7567ad6a59e366e55a8037e0497fe6
github.com/driverdan/node-XMLHttpRequest/blob/1.6.0/lib/XMLHttpRequest.js
github.com/mjwwit/node-XMLHttpRequest/blob/ae38832a0f1347c5e96dda665402509a3458e302/lib/XMLHttpRequest.js
github.com/mjwwit/node-XMLHttpRequest/commit/ee1e81fc67729c7c0eba5537ed7fe1e30a6b3291
github.com/advisories/GHSA-h4j5-c7cj-74xg
security-tracker.debian.org/tracker/CVE-2020-28502
ubuntu.com/security/CVE-2020-28502
cve.org/CVERecord?id=CVE-2020-28502