{"id":"CVE-2023-5654","aliases":["EUVD-2023-2809","GHSA-rxrc-rgv4-jpvx"],"status":"published","title":"React Developer Tools extension Improper Authorization vulnerability","description":"The React Developer Tools extension registers a message listener with window.addEventListener('message', \u003clistener\u003e) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URL’s via the victim's browser.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00558,"percentile":0.46763,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-116","CWE-285"],"published":"2023-10-19T14:28:23Z","modified":"2026-06-17T06:49:01Z","fixes":[{"ecosystem":"npm","package":"react-devtools-core","fixed_in":["4.28.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"react-devtools-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.28.4"}]}]},{"source":"osv","ecosystem":"npm","package":"react-devtools-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.28.4"}]}]}],"products":[{"vendor":"facebook","product":"react-devtools"},{"vendor":"meta","product":"react developer tools extension"}],"references":[{"url":"https://gist.github.com/CalumHutton/1fb89b64409570a43f89d1fd3274b231","tags":["x_transferred","Patch","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-5654","tags":["advisory"]},{"url":"https://github.com/facebook/react/pull/27417","tags":["web"]},{"url":"https://github.com/facebook/react/commit/09285d5a7f1c08bec09f44cec3d0518a603597fc","tags":["web"]},{"url":"https://github.com/facebook/react/commit/94d5b5b2bf5204ebd289a113989c0e2c51b626ef","tags":["web"]},{"url":"https://github.com/advisories/GHSA-rxrc-rgv4-jpvx"},{"url":"https://github.com/facebook/react","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-5654","description":"The React Developer Tools extension registers a message listener with window.addEventListener('message', \u003clistener\u003e) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URL’s via the victim's browser.","status":"published","published":"2023-10-19T14:28:23.769Z","modified":"2024-09-12T14:35:37.964Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-285","CWE-116"],"updated_at":"2026-11-02T14:35:16.771348Z"}],"euvd":[{"id":"EUVD-2023-2809","description":"The React Developer Tools extension registers a message listener with window.addEventListener('message', \u003clistener\u003e) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URL’s via the victim's browser.","status":"published","published":"2023-10-19T14:28:23Z","modified":"2024-09-12T14:35:37Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium"}],"updated_at":"2026-11-03T00:55:57.273476Z"}],"ghsa":[{"id":"GHSA-rxrc-rgv4-jpvx","title":"React Developer Tools extension Improper Authorization vulnerability","description":"The React Developer Tools extension registers a message listener with window.addEventListener('message', \u003clistener\u003e) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URL’s via the victim's browser.","status":"published","published":"2023-10-19T15:31:08Z","modified":"2024-09-12T18:41:04Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium"}],"cwes":["CWE-116","CWE-285"],"updated_at":"2026-11-02T14:38:02.014847Z"}],"nvd":[{"id":"CVE-2023-5654","description":"The React Developer Tools extension registers a message listener with window.addEventListener('message', \u003clistener\u003e) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URL’s via the victim's browser.","status":"published","published":"2023-10-19T15:15:09.973Z","modified":"2026-06-17T06:49:01.203Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium","assessor":"primary"}],"cwes":["CWE-285","CWE-116"],"updated_at":"2026-11-02T14:08:39.058878Z"}],"osv":[{"id":"GHSA-rxrc-rgv4-jpvx","title":"React Developer Tools extension Improper Authorization vulnerability","description":"The React Developer Tools extension registers a message listener with window.addEventListener('message', \u003clistener\u003e) in a content script that is accessible to any webpage that is active in the browser. Within the listener is code that requests a URL derived from the received message via fetch(). The URL is not validated or sanitised before it is fetched, thus allowing a malicious web page to arbitrarily fetch URL’s via the victim's browser.","status":"published","published":"2023-10-19T15:31:08Z","modified":"2024-09-12T18:41:02Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","level":"medium"},{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-116","CWE-285"],"updated_at":"2026-11-02T15:46:56.639206Z"}]}}
