Au fost publicate actualizări corective pentru platforma de dezvoltare colaborativă GitLab – 17.9.2, 17.8.5 și 17.7.7, în care a fost remediată o vulnerabilitate (CVE-2025-25291, CVE-2025-25292) care permite ocolirea autentificării bazate pe SAML (Security Assertion Markup Language). Vulnerabilitatea este prezentă în biblioteca Ruby ruby-saml, care implementează funcții pentru autorizarea SAML. Pe lângă GitLab, vulnerabilitatea afectează și alte proiecte care utilizează această bibliotecă. Problema a fost remediată în actualizările ruby-saml 1.18.0 și 1.12.4.
Vulnerabilitatea este cauzată de diferențele în analiza documentelor XML de către parserii ReXML și Nokogiri, ceea ce duce la generarea unor documente care diferă în structură atunci când se procesează același document XML. Problema constă în faptul că REXML și Nokogiri tratează în mod diferit semnăturile digitale din documentele XML, ceea ce poate fi utilizat pentru a crea condiții în care, la verificare, se va folosi o semnătură, iar la atestarea utilizatorului o altă semnătură. Această oportunitate permite atacatorului să utilizeze metoda de atac XSW (XML Signature Wrapping) pentru a falsifica un răspuns SAML pentru conținut arbitrar, având acces la orice document SAML semnat.
Problema a fost identificată în urma inițiativei companiei GitHub, care a considerat posibilitatea de a trece GitHub la utilizarea acestei biblioteci și, în scopuri de verificare a securității, a organizat un concurs (Bug bounty) pentru a sparge mediul de testare, în care pentru autentificarea SAML a fost utilizată biblioteca ruby-saml. Unul dintre cercetătorii în domeniul securității a observat prezența vulnerabilității. În timpul analizei problemei, un angajat GitHub a identificat încă o metodă de atac, bazată pe același principiu.
Ulterior, posibilitatea de a efectua atacul a fost confirmată pentru GitLab. În contextul GitLab, vulnerabilitatea permite atacatorului, care are acces la orice document SAML semnat corect, să treacă autentificarea ca un alt utilizator, adică pentru a ocoli autentificarea și a se conecta ca un alt utilizator, atacatorul trebuie să aibă deja acces la una dintre conturile de utilizator valide.
Sursa: opennet.ro
