Három regexmotor-hibát javított a Ruby, négy kritikus GitLab RCE sebezhetőséget okoztak

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A Ruby 4.0.9, 3.4.12 és 3.3.13 kiadásokban három hibát javítottak az Onigmo reguláris kifejezés motorban. Ezek a hibák négy kritikus biztonsági sebezhetőség mögött álltak, amelyeket a GitLab az elmúlt hónapban javított. A GitLab azt találta, hogy egy speciálisan összeállított minta memóriakorrupciót okozhat, miközben a Ruby lefordítja, és ez akár kódfuttatáshoz is vezethet a saját szerverein. A Ruby szerint minden olyan alkalmazás érintett, amely támadó által vezérelt szövegből épít reguláris kifejezést, nem csak a GitLab.

Mely alkalmazások érintettek

A biztonsági közlemény szerint egy alkalmazás csak akkor érintett, ha olyan sztringből fordít reguláris kifejezést, amelyet a támadó irányít. Ez akkor történik, ha a program ilyen sztringet ad át a Regexp.new, Regexp.union vagy Regexp.compile metódusnak, vagy interpolációval helyezi be a mintába, például így: /#{input}/.

Azok az alkalmazások, amelyek csak a saját fejlesztőik által írt reguláris kifejezéseket használják, nem érintettek.

A Ruby a hibákat a 4.0.9, 3.4.12 és 3.3.13 verziókban javította. A 3.4.12 és 3.3.13 az első olyan kiadások a saját sorozatukban, amelyek tartalmazzák bármelyik javítást.

Az ugyanabban a héten megjelent korábbi 4.0.8 kiadás nem tartalmazza az egyik hiba, a CVE-2026-110264 javítását, ezért a 4.0-s felhasználóknak 4.0.9-re kell frissíteniük.

A Ruby 3.2 és a korábbi verziók már nem kapnak javítást. A Ruby 3.2 elérte az életciklusa végét 2026. április 1-jén, a 3.2.11 volt az utolsó kiadása. A Ruby azt javasolja, hogy térjünk át 3.4-re vagy 4.0-ra.

Ha egyelőre nem tudsz verziófrissítést végezni, a közlemény szerint le kell állni a reguláris kifejezések fordításával nem megbízható bemenetből.

Két olyan védekezés, amely elsőre hatékonynak tűnhet, valójában nem segít. A Regexp.timeout beállítása nem akadályozza meg ezeket a hibákat. A minta hosszának korlátozása sem megbízható, mert rövid minták is kiválthatják a hibákat.

Hogyan jutottak el a hibák a GitLabig

A GitLab a felhasználói által megadott reguláris kifejezéseket fordítja, például a CI/CD konfigurációban szereplő mintákat. A cég azt találta, hogy speciálisan összeállított minták memóriakorrupciót okozhatnak a Ruby fordítási fázisában, ezért szeptember 23. és október 21. között négy CVE-t adott ki, mindegyiket egy javított Ruby verzió kiadásával orvosolva.

Az első kettőt szeptember 23-án hozták nyilvánosságra, mindkettő bejelentkezett fiókot igényel, és 9,9-es értékelést kapott a 10-es skálán. Az októberi kettő, köztük a CVE-2026-97229 12-én és a CVE-2026-110264 21-én, nem igényel fiókot, és 10,0-s, maximális értékelést kaptak. A CVE-2026-110264 a GitLab minden 7.0-s és újabb verzióját érinti.

A joaxcar néven ismert kutató mind a négy hibát a GitLab bug bounty programján keresztül jelentette. Október 23-ig egyik sebezhetőség sem szerepelt a CISA ismert, aktívan kihasznált sebezhetőségeket listázó katalógusában.

Egyelőre nincs Ruby CVE

A Ruby egyelőre nem kért saját CVE-azonosítókat ezekhez a javításokhoz, és azt javasolta a felhasználóknak, hogy inkább a GitLab négy CVE-számán keresztül kövessék a problémákat.

Ez rést hagy azoknak, akik CVE alapján szkennelnek. A GitLab CVE-rekordjai csak a GitLabot nevezik meg érintett termékként, így egy olyan szkenner, amely ezeket a rekordokat hasonlítja össze a telepített Ruby verziókkal, nem talál egyezést.

A Ruby korábban már kezelt ilyen hibát sebezhetőségként, és CVE-számokat rendelt a 2022-es és a 2024-es javításokhoz, noha régóta köztudott, hogy nem biztonságos megbízhatatlan bemenetből reguláris kifejezést építeni.

A dokumentáció továbbra is csak szolgáltatásmegtagadási kockázatként írja le a nem megbízható mintákat. A Ruby azt ígérte, frissíti a biztonsági közleményét, és mégis kér CVE-azonosítókat.

Teendők GitLab adminisztrátoroknak

A saját üzemeltetésű GitLab példányoknak telepíteniük kell azt a kiadást, amely javítja a CVE-2026-110264 sebezhetőséget. A GitLab ezt a verziót október 21-én adta ki, és egészen a 18.11.13-as verzióig visszaportolta.

  • 19.5.1
  • 19.4.3
  • 19.3.6
  • 19.2.9
  • 19.1.9
  • 19.0.10
  • 18.11.13

A GitLab.com már a javított verziót futtatja, és a friss belső release-eket használó GitLab Dedicated bérlőknek sincs teendőjük – közölte a cég. Mivel a GitLab saját, beágyazott Ruby példányt használ, és abban is elvégezte a javítást, a fenti verziók valamelyikének telepítése automatikusan alkalmazza a javítást.

A GitLab felderítési szabályokat is közzétett, amelyeket a saját üzemeltetésű rendszerek adminisztrátorai használhatnak a kihasználási kísérletek jeleinek keresésére.