p PatchFirst

CVE-2026-33994

CVE-2026-33994 · Locutus Prototype Pollution due to incomplete fix for CVE-2026-25521

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 6.3 · Medium · EPSS 0.6% · Fix available

Published
Updated

Stack: node

Affected products and versions

  • locutus

    Versions
    • >= 2.0.39, < 3.0.25: Affected

    No fix published

  • locutus npm

    Affected ranges
    • SEMVER: ≥ 2.0.39, < 3.0.25

    Update to 3.0.25

Original sources

Check your server →