Korrigeringsutgåvor av programmeringsspråket Ruby 3.3.13, 3.4.12 och 4.0.9 har publicerats, där en kritisk sårbarhet (CVE-2026-110264) har åtgärdats. Denna sårbarhet leder till heltalsöverflöd vid kompilerings av speciellt formulerade reguljära uttryck. Sårbarheten kan användas för attacker mot projekt skrivna i Ruby som använder externa data i reguljära uttryck. Bl.a. har det bekräftats att sårbarheten kan utnyttjas för fjärrkörning av kod på plattformen för samarbetsutveckling GitLab. Problemet är ytterligare blockerat i uppdateringar av GitLab 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 och 18.11.13. Sårbarheten har tilldelats en risknivå på 10 av 10.
Sårbarheten finns i reguljära uttrycksmotorn Onigmo och leder till överflöd av interna identifierare vid kompilering av en mall med ett stort antal upprepningar. Problemet visar sig endast i applikationer som använder externa data i reguljära uttryck, som behandlas genom metoderna Regexp.new, Regexp.union och Regexp.compile eller litteraler av typen «\/#{input}\/». En begränsning av storleken på det reguljära uttrycket eller tiden för dess behandling via metoden Regexp.timeout blockerar inte sårbarheten, eftersom korta mallar kan användas för attacken.
I GitLab kan sårbarheten utnyttjas av en icke-autentiserad användare på grund av substituering av externa data i det reguljära uttrycket. Detaljer om utnyttjande metoden avslöjas för närvarande inte (enligt GitLabs regler blir information tillgänglig 30 dagar efter publiceringen av en fix), men nätverket rapporterar redan om försök till attacker mot GitLab-användare. Indikatorer på att en attack har genomförts kan inkludera ökat antal krascher av Ruby-tolken och en ökning av fel i loggar relaterade till tidsgränser vid sidrendering vid behandling av org-filer.
Förutom CVE-2026-110264 har ytterligare tre sårbarheter åtgärdats i reguljära uttrycksmotorn: CVE-2026-89078 (dubbel frigöring av minnet när syntaksanalys av en mall misslyckas efter att den har ändrats), CVE-2026-93577 och CVE-2026-97229 (heltalsöverflöd vid beräkning av storleken på den kompilerade mallen).
Källa: opennet.ru
