CVE-2026-33994
Publiée le 2026-03-27 · Dernière modification le 2026-10-26
Les applications utilisant le package npm Locutus (versions 2.0.39 à 3.0.24) sont vulnérables à une pollution de prototype via la fonction `parse_str`. Un attaquant peut envoyer une chaîne de requête spécialement conçue via le réseau pour modifier les propriétés d'un objet global, ce qui pourrait entraîner le plantage de l'application ou un comportement inattendu. Bien que l'attaque soit accessible via le réseau et ne nécessite aucune authentification, elle est modérément difficile à exécuter car elle requiert un état préalable spécifique pour contourner les protections de sécurité intégrées.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
- security-advisories@github.com
Description officielle du NVD (en anglais)
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.