Der er udgivet korrigerende versioner af programmeringssproget Ruby 3.3.13, 3.4.12 og 4.0.9, som løser en kritisk sårbarhed (CVE-2026-110264), der fører til heltals overflow ved kompilering af specielt udformede regulære udtryk. Sårbarheden kan udnyttes til angreb på projekter skrevet i Ruby, der bruger eksterne data i regulære udtryk. Blandt andet er det bekræftet, at sårbarheden kan udnyttes til fjernudførelse af kode på platformen GitLab. Problemet er desuden lukket i opdateringerne GitLab 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 og 18.11.13. Sårbarheden er klassificeret som 10 ud af 10 på fareindekset.
Sårbarheden findes i regulære udtryk motoren Onigmo og fører til overflow af interne identifikatorer ved kompilering af en skabelon med et stort antal gentagelser. Problemet opstår kun i applikationer, der bruger eksterne data i regulære udtryk, der behandles via metoderne Regexp.new, Regexp.union og Regexp.compile eller litteraler som «\/#{input}\/». Begrænsning af størrelsen på det regulære udtryk eller behandlingstiden via metoden Regexp.timeout lukker ikke sårbarheden, da angreb kan udføres med korte skabeloner.
I GitLab kan sårbarheden udnyttes af en uautoriseret bruger på grund af substituering i det regulære udtryk med eksterne data. Detaljerne om udnyttelsesmetoden er endnu ikke blevet offentliggjort (i henhold til GitLabs regler bliver information tilgængelig 30 dage efter offentliggørelsen af opdateringen), mens der i netværket allerede registreres forsøg på at udføre angreb på GitLab-brugere. Indirekte tegn på udførelse af angrebet kan være en stigning i antallet af krasj i Ruby-tolkeren og en stigning i fejl i loggene, der er relateret til timeout-fejl ved rendering af siden under behandling af org-filer.
Ud over CVE-2026-110264 er der rettet yderligere tre sårbarheder i regulære udtryks motoren: CVE-2026-89078 (dobbelt frigivelse af hukommelse ved parsning af en skabelon, der ikke kan parsers efter ændring), CVE-2026-93577 og CVE-2026-97229 (heltals overflow ved beregning af størrelsen på den kompilerede skabelon).
Kilde: opennet.ru
