React vulnerabilitiesReact: known vulnerabilities and safe versions
npm: react
React has 3 known vulnerability records: 0 in the npm advisory data (GitHub Advisory Database via OSV, the same source npm audit uses) and 3 only in Retire.js (CDN builds and advisories without a CVE).
By branch: 16.x is safe from 16.4.2; 0.14.x has no known records; 0.5.x has no fixed release in the records; 0.4.x has no fixed release in the records.
Vulnerabilities and safe version by branch
Safe version: on that branch, this release and every later one (up to the branch's latest release, where known) fall outside every known record's range. Candidates are only the records' own fixed versions and the branch's latest release; "No fix" means moving off the branch.
| Branch | Support | Latest on branch | Records | Safe version |
|---|---|---|---|---|
| 16.x | — | — | 1medium | 16.4.2 |
| 0.14.x | — | — | 0 | — |
| 0.5.x | — | — | 2high | No fix |
| 0.4.x | — | — | 2high | No fix |
| 0.0.x | — | — | 1high | No fix |
Support dates appear only for libraries that endoflife.date tracks.
Records
Newest first. Ranges are the record's own data; several ranges mean separate fixes per branch.
CVE-2018-6341exploit code exists2018-12-31
React applications which rendered to HTML using the ReactDOMServer API were not escaping user-supplied attribute names at render-time.
Affected versions: >= 16.0.0, < 16.0.1 · >= 16.1.0, < 16.1.2 · >= 16.2.0, < 16.2.1 · >= 16.3.0, < 16.3.3 · >= 16.4.0, < 16.4.2
medium 6.1
Fixed in: 16.0.1, 16.1.2, 16.2.1, 16.3.3
EPSS 3.4%
including untrusted objects as React children can result in an XSS security vulnerability
Affected versions: >= 0.0.1, < 0.14.0
high
Fixed in: 0.14.0
potential XSS vulnerability can arise when using user data as a key
Affected versions: >= 0.4.0, < 0.4.2 · >= 0.5.0, < 0.5.2
medium
Fixed in: 0.4.2, 0.5.2
Sources and method
Ranges: GitHub Advisory Database (OSV npm export, daily) and Retire.js (Apache-2.0). Exploitation: CISA KEV, FIRST EPSS and exploit maturity from the Noroxi CVE database. Support dates: endoflife.date.
This page and the JavaScript library scan use the same matching rule: a row without bounds is not evidence, and versions are compared in one place. A record without a version range never counts as "affected" in the version check.
Data as of October 22, 2026.