FICHE CVE

CVE-2026-116795

Publiée le 2026-10-28 · Dernière modification le 2026-11-02

🇫🇷 EN BREF

RE2JS (versions 2.2.0 à 2.8.6) est un port JavaScript du moteur d'expressions régulières RE2, utilisé pour effectuer des correspondances de texte rapides en temps linéaire. La faille survient lorsque les « lookbehinds » (recherches arrières) sont activés et utilisés avec certaines fonctions de correspondance répétitive telles que `matchAll()` ou `split()`. Comme le moteur redémarre son analyse depuis le début pour chaque correspondance, une entrée spécifiquement conçue peut forcer le logiciel à effectuer une quantité massive de travail redondant.

Un attaquant peut exploiter cela pour déclencher un déni de service (DoS) en fournissant une chaîne de caractères malveillante qui monopolise le processeur, gelant ainsi l'application. Il s'agit d'un risque de disponibilité à fort impact qui ne nécessite ni authentification ni interaction de l'utilisateur. Puisqu'il peut être déclenché via un réseau, tout service public utilisant une version affectée de RE2JS est vulnérable à cette attaque par épuisement des ressources.

CVSS 3.17.5 ÉLEVÉE
Publiée2026-10-28
Dernière modification2026-11-02

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueFaible
Privilèges requisAucun
Interaction utilisateurAucune
PortéeInchangée
Impact sur la confidentialitéAucun
Impact sur l'intégritéAucun
Impact sur la disponibilitéÉlevé

RÉFÉRENCES

Description officielle du NVD (en anglais)

RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching. From 2.2.0 until 2.8.7, enabling LOOKBEHINDS and using repeated matching through matcher().find(), matchAll(), split(), or matcher().replaceAll() can cause quadratic total work. Machine.match restarts lookbehind scanning from offset zero for each requested start position, while Matcher-based APIs request capture slots that prevent the early exit used for captureless matching. Dense matches therefore repeatedly rescan the input, allowing attacker-influenced text to monopolize a single-threaded worker and deny service. This issue is fixed in version 2.8.7.