On välja antud parandavate värskenduste platvorm GitLab koostööks — versioonid 17.9.2, 17.8.5 ja 17.7.7, mis lahendavad haavatavuse (CVE-2025-25291, CVE-2025-25292), mis võimaldab SAML (Security Assertion Markup Language) põhiseid autentimise ümbersuunamisi. Haavatavus on olemas Ruby teegis ruby-saml, mis rakendab SAML autentimise funktsioone. Lisaks GitLabile mõjutab haavatavus ka teisi projekte, mis kasutavad seda teeki. Probleem on lahendatud ruby-saml värskendustes 1.18.0 ja 1.12.4.
Ahnalus on põhjustatud erinevustest XML-dokumentide analüüsis ReXML ja Nokogiri parserite poolt, mille tulemusena genereeriti sama XML-dokumendi töötlemisel struktuuri poolest erinevad dokumendid. Probleem seisneb selles, et REXML ja Nokogiri töötlevad XML-dokumendis digiallkirju erinevalt, mis võimaldab luua tingimusi, kus ühte allkirja kasutatakse kontrollimisel ja teist allkirja kasutajate autentimisel. See võimalus võimaldab ründajal kasutada XSW (XML Signature Wrapping) rünnakumeetodit, et vale SAML-vastust luua suvalise sisu jaoks, omades juurdepääsu igasugusele allkirjastatud SAML-dokumendile.
Probleem avastati GitHubi algatuse käigus, mis uuris GitHubi üleminekut selle teegi kasutusele ja turvamise kontrollimiseks korraldati testkeskkonna häkkimise võistlus (Bug bounty), kus SAML-autentimiseks kasutati ruby-saml teeki. Üks turvauuringute tegija märkis ära haavatavuse olemasolu. Probleemi uurimise käigus tuvastas GitHubi töötaja veel ühe rünnakumeetodi, mis põhines samal põhimõttel.
Tulevikus kinnitus, et rünnakute võimalus on olemas GitLabis. GitLabi kontekstis võimaldab haavatavust ära kasutav isik, kellel on juurdepääs igale korrektselt allkirjastatud SAML-dokumendile, autentida end teise kasutajana, st rünnakuks peab isik juba omama juurdepääsu vähemalt ühe kehtiva töökonto juurde.
Allikas: opennet.ru
