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.
{
"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"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3884.json",
"cna_assigner": "snyk",
"cwe_ids": [
"CWE-79"
]
}{
"source": "CPE_RANGE",
"cpe": "cpe:2.3:a:spin.js:spin.js:*:*:*:*:*:node.js:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "3.0.0"
}
]
}