Boli zverejnené opravné aktualizácie platformy pre organizáciu spoločnej práce GitLab — 17.9.2, 17.8.5 a 17.7.7, v ktorých bola odstránená zraniteľnosť (CVE-2025-25291, CVE-2025-25292), ktorá umožňuje obísť autentizáciu na základe SAML (Security Assertion Markup Language). Zraniteľnosť je prítomná v knižnici Ruby ruby-saml, ktorá implementuje funkcie pre SAML autorizáciu. Okrem GitLab táto zraniteľnosť ovplyvňuje aj ďalšie projekty využívajúce túto knižnicu. Problém bol odstránený v aktualizáciách ruby-saml 1.18.0 a 1.12.4.
Zraniteľnosť je spôsobená rozdielmi v analýze XML dokumentov parsérmi ReXML a Nokogiri, v dôsledku čoho pri spracovaní toho istého XML dokumentu vznikali dokumenty, ktoré sa líšili svojou štruktúrou. Problém spočíva v tom, že REXML a Nokogiri rôzne spracovávajú v XML dokumente digitálne podpisy, čo je možné využiť na vytvorenie podmienok, pri ktorých bude pri overovaní použitý jeden podpis a pri akreditácii používateľa iný. Táto možnosť umožňuje útočníkovi využiť metódu útoku XSW (XML Signature Wrapping) na sfalšovanie odpovede SAML pre ľubovoľný obsah, pričom má prístup k akémukoľvek podpísanému SAML dokumentu.
Problém bol identifikovaný v rámci iniciatívy spoločnosti GitHub, ktorá zvažovala prechod GitHubu na používanie tejto knižnice a na účely overenia bezpečnosti usporiadala súťaž (Bug bounty) na hackovanie testovacieho prostredia, v ktorom sa pre SAML autentizáciu používala knižnica ruby-saml. Jeden z výskumníkov v oblasti bezpečnosti si všimol existenciu zraniteľnosti. Počas rozboru problému zamestnanec GitHubu odhalil ďalší spôsob útoku založený na rovnakom princípe.
Následne bola možnosť uskutočniť útok potvrdená pre GitLab. V kontexte GitLab zraniteľnosť umožňuje útočníkovi, ktorý má prístup k akémukoľvek správne podpísanému SAML dokumentu, prejsť autentizáciou ako iný používateľ, t.j. aby obídeť autentizáciu a prihlásil sa ako iný používateľ, útočník už musí mať prístup k jednému z pracovných účtov.
Zdroj: opennet.ru
