Des versions correctives du langage de programmation Ruby 3.3.13, 3.4.12 et 4.0.9 ont été publiées, corrigeant une vulnérabilité critique (CVE-2026-110264) qui peut entraîner un dépassement d'entier lors de la compilation d'expressions régulières spécialement conçues. Cette vulnérabilité peut être exploitée pour attaquer des projets écrits en Ruby utilisant des données externes dans les expressions régulières. De plus, il a été confirmé que la vulnérabilité peut être exploitée pour une exécution de code à distance sur la plateforme de développement collaboratif GitLab. Le problème a également été bloqué dans les mises à jour GitLab 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 et 18.11.13. La vulnérabilité a été classée au niveau de gravité 10 sur 10.
La vulnérabilité est présente dans le moteur d'expressions régulières Onigmo et provoque un dépassement des identifiants internes lors de la compilation d'un modèle avec un grand nombre de répétitions. Le problème se manifeste uniquement dans les applications utilisant des données externes dans des expressions régulières, traitées via les méthodes Regexp.new, Regexp.union et Regexp.compile ou des littéraux de type « /#{input}/ ». La limitation de la taille de l'expression régulière ou du temps de traitement via la méthode Regexp.timeout ne bloque pas la vulnérabilité, car des modèles courts peuvent être utilisés pour l'attaque.
Dans GitLab, la vulnérabilité peut être exploitée par un utilisateur non authentifié en raison de la substitution de données externes dans une expression régulière. Les détails de la méthode d'exploitation ne sont pas encore révélés (selon les règles de GitLab, les informations deviennent disponibles 30 jours après la publication du correctif), mais des tentatives d'attaques sur les utilisateurs de GitLab sont déjà observées en ligne. Les signes indirects d'une attaque peuvent inclure une augmentation du nombre de plantages de l'interpréteur Ruby et une hausse des erreurs dans les journaux, liées à l'expiration des délais de rendu lors du traitement de fichiers org.
En plus de CVE-2026-110264, trois autres vulnérabilités ont été corrigées dans le moteur d'expressions régulières : CVE-2026-89078 (double libération de mémoire en cas d'échec de l'analyse d'un modèle après modification), CVE-2026-93577 et CVE-2026-97229 (dépassements d'entier lors du calcul de la taille du modèle en cours de compilation).
Source : opennet.ru
