{"id":"EUVD-2026-16890","enisaUuid":"89bd56b3-879d-33f4-9fbe-5b48e9369846","description":"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.","datePublished":"Mar 27, 2026, 10:15:47 PM","dateUpdated":"Apr 1, 2026, 1:45:55 PM","baseScore":6.3,"baseScoreVersion":"4.0","baseScoreVector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N","references":"https://github.com/locutusjs/locutus/security/advisories/GHSA-vc8f-x9pp-wf5p\nhttps://github.com/locutusjs/locutus/security/advisories/GHSA-vc8f-x9pp-wf5p\nhttps://github.com/locutusjs/locutus/pull/597\nhttps://github.com/locutusjs/locutus/commit/345a6211e1e6f939f96a7090bfeff642c9fcf9e4\nhttps://github.com/locutusjs/locutus/releases/tag/v3.0.25\n","aliases":"CVE-2026-33994\nGHSA-vc8f-x9pp-wf5p\n","assigner":"GitHub_M","epss":0.57,"enisaIdProduct":[{"id":"5dc8db79-3b01-3ed0-a3cf-c8cdadea5821","product":{"name":"locutus","vendor":{"name":"locutusjs"}},"product_version":"2.0.39, \u003c 3.0.25"}],"enisaIdVendor":[{"id":"860f6d87-f8be-333e-9ddc-98c61c1070a1","vendor":{"name":"locutusjs"}}],"enisaIdVulnerability":[{"id":"0b4cffe4-96aa-3f04-b4e8-f606098f51ed","vulnerability":{"id":"GHSA-vc8f-x9pp-wf5p","description":"Locutus Prototype Pollution due to incomplete fix for CVE-2026-25521","datePublished":"Mar 27, 2026, 5:58:48 PM","dateUpdated":"Mar 30, 2026, 8:15:19 PM","baseScore":0.0,"references":"https://github.com/locutusjs/locutus/security/advisories/GHSA-rxrv-835q-v5mh\nhttps://github.com/locutusjs/locutus/security/advisories/GHSA-vc8f-x9pp-wf5p\nhttps://nvd.nist.gov/vuln/detail/CVE-2026-33994\nhttps://github.com/locutusjs/locutus/pull/597\nhttps://github.com/locutusjs/locutus/commit/345a6211e1e6f939f96a7090bfeff642c9fcf9e4\nhttps://github.com/locutusjs/locutus\nhttps://github.com/locutusjs/locutus/releases/tag/v3.0.25\n","enisa_id":"EUVD-2026-16890\n","aliases":"GHSA-vc8f-x9pp-wf5p\nCVE-2026-33994\n","epss":0.0,"dataProcessed":"Nov 1, 2026, 1:58:58 AM","vulnerabilityProduct":[],"vulnerabilityVendor":[]}},{"id":"687bce14-85a1-3225-997b-7213dd11f674","vulnerability":{"id":"CVE-2026-33994","description":"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.","datePublished":"Mar 27, 2026, 10:15:47 PM","dateUpdated":"Apr 1, 2026, 1:45:55 PM","status":"PUBLISHED","baseScore":6.3,"baseScoreVersion":"4.0","baseScoreVector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N","references":"https://github.com/locutusjs/locutus/security/advisories/GHSA-vc8f-x9pp-wf5p\nhttps://github.com/locutusjs/locutus/security/advisories/GHSA-vc8f-x9pp-wf5p\nhttps://github.com/locutusjs/locutus/pull/597\nhttps://github.com/locutusjs/locutus/commit/345a6211e1e6f939f96a7090bfeff642c9fcf9e4\nhttps://github.com/locutusjs/locutus/releases/tag/v3.0.25\n","enisa_id":"EUVD-2026-16890\n","assigner":"GitHub_M","epss":0.57,"dataProcessed":"Nov 1, 2026, 7:18:59 AM","vulnerabilityProduct":[{"id":"4bf3952e-620e-3773-b4ae-65ea5b064f9b","product":{"name":"locutus","vendor":{"name":"locutusjs"}},"product_version":"2.0.39, \u003c 3.0.25"}],"vulnerabilityVendor":[{"id":"4c620722-fe11-33e1-aeaa-74a14f326bae","vendor":{"name":"locutusjs"}}]}}],"enisaIdAdvisory":[]}