{"id":"CVE-2026-3884","details":"Versions of the package spin.js before 3.0.0 are vulnerable to Cross-site Scripting (XSS) via the spin() function that allows a creation of more than 1 alert for each 'target' element. An attacker would need to set an arbitrary key-value pair on Object.prototype through a crafted URL achieving a prototype pollution first, before being able to execute arbitrary JavaScript in the context of the user's browser.","modified":"2026-07-08T07:32:38.832630572Z","published":"2026-03-11T05:00:09.279Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3884.json","cna_assigner":"snyk","unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"fixed":"3.0.0"}]},{"source":"DESCRIPTION","extracted_events":[{"introduced":"spin.js"},{"fixed":"3.0.0"},{"introduced":"Object.prototype"}]}],"cwe_ids":["CWE-79"]},"references":[{"type":"WEB","url":"https://gist.github.com/ericcornelissen/1a73e28fa50c3009b0eb51ad2fc19f25"},{"type":"WEB","url":"https://security.snyk.io/vuln/SNYK-JS-SPINJS-15445079"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3884.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-3884"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/fgnass/spin.js","events":[{"introduced":"0"},{"fixed":"64efdb147936eabf3f8debf621fe648edcdd7789"}],"database_specific":{"source":"CPE_RANGE","extracted_events":[{"introduced":"0"},{"fixed":"3.0.0"}],"cpe":"cpe:2.3:a:spin.js:spin.js:*:*:*:*:*:node.js:*:*"}}],"versions":["2.3.2","2.3.1","2.1.2","2.1.0","2.0.2","2.0.1","2.0.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.7","1.2.6","1.2.5","1.2.4","1.2.3","1.2.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-3884.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:P"}]}