Objavljena su korektivna izdanja Rubyja 3.3.13, 3.4.12 i 4.0.9, kojima je ispravljena kritična ranjivost (CVE-2026-110264) koja dovodi do prekoračenja cijelog broja prilikom kompajliranja posebno kreiranih regularnih izraza. Ova ranjivost se može koristiti za napad na projekte napisane u Rubyju koji koriste eksterne podatke u regularnim izrazima. Između ostalog, potvrđeno je iskorištavanje ranjivosti za udaljeno izvršavanje koda u GitLab platformi za kolaborativni razvoj. Problem je dodatno blokiran u GitLab ažuriranjima 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 i 18.11.13. Ranjivosti je dodijeljen nivo ozbiljnosti 10 od 10.
Ranjivost postoji u Onigmovom mehanizmu za regularne izraze i uzrokuje prekoračenje internog identifikatora prilikom kompajliranja obrasca s velikim brojem ponavljanja. Problem se manifestuje samo u aplikacijama koje koriste eksterne podatke u regularnim izrazima obrađenim putem metoda Regexp.new, Regexp.union i Regexp.compile ili literala oblika "/#{input}/". Ograničavanje veličine regularnog izraza ili vremena njegove obrade putem metode Regexp.timeout ne sprječava ranjivost, jer se za napad mogu koristiti kratki obrasci.
U GitLabu, ranjivost može iskoristiti neautentificirani korisnik zamjenom vanjskih podataka u regularni izraz. Detalji metode iskorištavanja još nisu objavljeni (prema politici GitLaba, informacije postaju dostupne 30 dana nakon objavljivanja zakrpe), ali pokušaji napada na korisnike GitLaba već su zabilježeni online. Indirektni znaci napada uključuju povećanje broja rušenja Ruby interpretera i povećanje grešaka u zapisniku povezanih s vremenskim ograničenjima prikazivanja stranica prilikom obrade .org datoteka.
Pored CVE-2026-110264, još tri ranjivosti su ispravljene u mehanizmu regularnih izraza: CVE-2026-89078 (dvostruko oslobađanje memorije kada nije moguće parsirati uzorak nakon što je modificiran), CVE-2026-93577 i CVE-2026-97229 (prekoračenje cijelih brojeva prilikom izračunavanja veličine kompajliranog uzorka).
izvor: opennet.ru
