Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Starting in version 2.0.39 and prior to version 3.0.25, a prototype pollution vulnerability exists in the parse_str function of the npm package locutus. An attacker can pollute Object.prototype by overriding RegExp.prototype.test and then passing a crafted query string to parse_str, bypassing the prototype pollution guard. This vulnerability stems from an incomplete fix for CVE-2026-25521. The CVE-2026-25521 patch replaced the String.prototype.includes()-based guard with a RegExp.prototype.test()-based guard. However, RegExp.prototype.test is itself a writable prototype method that can be overridden, making the new guard bypassable in the same way as the original — trading one hijackable built-in for another. Version 3.0.25 contains an updated fix.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-1321"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33994.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:locutus:locutus:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "2.0.39"
},
{
"fixed": "3.0.25"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "345a6211e1e6f939f96a7090bfeff642c9fcf9e4"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v3.0.25",
"range": [
{
"fixed": "0d2402bdb92f9c59918114af9c8ba628f22e9152"
}
],
"source": "REFERENCES_TAG"
}
]
}