Corrigerende updates voor de programmeertaal Ruby 3.3.13, 3.4.12 en 4.0.9 zijn uitgebracht, waarin een kritieke kwetsbaarheid (CVE-2026-110264) is opgelost die leidt tot een geheel getal overflow bij het compileren van speciaal opgemaakte reguliere expressies. De kwetsbaarheid kan worden gebruikt voor aanvallen op projecten die zijn geschreven in Ruby en externe gegevens in reguliere expressies gebruiken. Onder andere is bevestigd dat de kwetsbaarheid kan worden geƫxploiteerd voor remote code execution op het samenwerkingsplatform GitLab. Het probleem is verder verholpen in de updates GitLab 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 en 18.11.13. De kwetsbaarheid heeft een gevaarlijkheidsniveau van 10 op 10 gekregen.
De kwetsbaarheid is aanwezig in de reguliere expressie engine Onigmo en leidt tot een overflow van interne identifiers bij het compileren van een sjabloon met een groot aantal herhalingen. Het probleem doet zich alleen voor in applicaties die externe gegevens gebruiken in reguliere expressies, verwerkt via de methoden Regexp.new, Regexp.union en Regexp.compile of door middel van literals zoals '/#{input}/'. Het beperken van de grootte van de reguliere expressie of de verwerkingstijd via de methode Regexp.timeout blokkeert de kwetsbaarheid niet, omdat korte sjablonen ook voor aanvallen kunnen worden gebruikt.
In GitLab kan de kwetsbaarheid worden geƫxploiteerd door een niet-geauthenticeerde gebruiker vanwege het inbrengen van externe gegevens in de reguliere expressie. De details van de exploitatiemethode worden nog niet openbaar gemaakt (volgens de regels van GitLab worden informatie 30 dagen na de publicatie van de patch beschikbaar), terwijl er al pogingen worden geregistreerd om aanvallen op GitLab-gebruikers uit te voeren. Indirecte tekenen van een aanval kunnen een toename van het aantal ongewenste beƫindigingen van de Ruby-interpreter en een stijging van fouten in de logboeken zijn, gerelateerd aan time-out overschrijdingen bij het verwerken van org-bestanden.
Naast CVE-2026-110264 zijn er nog drie andere kwetsbaarheden opgelost in de reguliere expressie engine: CVE-2026-89078 (dubbele vrijgave van geheugen wanneer de sjabloon niet kan worden geparsed na wijziging), CVE-2026-93577 en CVE-2026-97229 (geheel getal overflows bij het berekenen van de grootte van de te compileren sjabloon).
Bron: opennet.ru
