Ruby ažuriranja uklanjaju propuste povezane sa GitLab RCE ranjivostima

Ruby je objavio verzije 4.0.9, 3.4.12 i 3.3.13 radi otklanjanja tri greške u Onigmo mehanizmu za regularne izraze. Greške su povezane sa četiri kritične ranjivosti za udaljeno izvršavanje koda u GitLabu, među kojima su CVE-2026-97229 i CVE-2026-110264 ocenjene sa 10,0 od 10.
Problem pogađa aplikacije koje kompajliraju regularni izraz iz teksta koji kontroliše napadač. Takav obrazac može izazvati oštećenje memorije dok Ruby kompajlira izraz, što potencijalno vodi izvršavanju koda na serveru aplikacije.
Kada je Ruby aplikacija izložena
Ruby navodi da nisu ugrožene aplikacije koje koriste samo regularne izraze koje su napisali njihovi programeri. Rizik nastaje kada se nepoverljiv sadržaj prosleđuje metodama Regexp.new, Regexp.union ili Regexp.compile, odnosno kada se umeće u obrazac interpolacijom, kao u obliku /#{input}/.
Za granu 4.0 potrebno je instalirati 4.0.9. Ranije objavljena verzija 4.0.8 ne sadrži ispravku za CVE-2026-110264. Verzije 3.4.12 i 3.3.13 prve su u svojim granama koje uključuju sve tri ispravke.
Ruby 3.2 i starije verzije neće dobiti zakrpu. Grana 3.2 dostigla je kraj životnog ciklusa 1. aprila 2026, a 3.2.11 je njeno poslednje izdanje. Organizacijama koje još ne mogu da pređu na podržanu verziju preporučeno je da prestanu da kompajliraju regularne izraze iz nepoverljivog unosa.
Zašto GitLab ima poseban rizik
GitLab kompajlira obrasce koje dostavljaju korisnici, uključujući obrasce iz CI/CD konfiguracije. Između 23. septembra i 21. oktobra objavio je četiri CVE oznake i za svaku isporučio zakrpljeni Ruby. Prve dve ranjivosti zahtevaju prijavljen nalog i ocenjene su sa 9,9, dok za dve oktobarske nije potreban nalog.
CVE-2026-110264 zahvata sve GitLab verzije od 7.0 nadalje. GitLab je ispravku objavio 21. oktobra i preneo je unazad do verzije 18.11.13; dostupna je i u izdanjima 19.0.10, 19.1.9, 19.2.9, 19.3.6, 19.4.3 i 19.5.1. GitLab.com već koristi zakrpljeno izdanje, dok GitLab Dedicated zakupci na novijim internim izdanjima ne moraju da preduzimaju radnje.
Ograničenja zaštite i operativni koraci
Podešavanje Regexp.timeout ne zaustavlja opisane greške, a ni ograničavanje dužine obrasca nije pouzdano, jer ih mogu pokrenuti kratki obrasci. Ruby zasad nije dodelio sopstvene CVE identifikatore, pa alati koji porede instalirane Ruby verzije sa GitLab CVE zapisima mogu propustiti relevantan signal.
Administratorima samostalno upravljanih GitLab instanci prioritet je instalacija izdanja koje otklanja CVE-2026-110264 i korišćenje GitLab pravila za detekciju pokušaja zloupotrebe. Razvojni timovi treba da popišu mesta na kojima nastaju regularni izrazi, uklone nepoverljiv unos iz procesa kompajliranja i planiraju prelazak na podržanu Ruby granu kao konkretan korak za smanjenje izloženosti.

