Der er offentliggjort rettelsesmæssige opdateringer til GitLab-platformen for samarbejdende udvikling — 17.9.2, 17.8.5 og 17.7.7, som udbedrer en sårbarhed (CVE-2025-25291, CVE-2025-25292), der muliggør omgåelse af SAML-baseret autentifikation (Security Assertion Markup Language). Sårbarheden findes i Ruby-biblioteket ruby-saml, der implementerer funktioner til SAML-autentifikation. Udover GitLab påvirker sårbarheden også andre projekter, der anvender dette bibliotek. Problemet er løst i opdateringerne ruby-saml 1.18.0 og 1.12.4.
Sårbarheden skyldes forskelle i XML-dokumentbehandling mellem parserne ReXML og Nokogiri, der resulterer i, at der genereres dokumenter, der adskiller sig i struktur, når det samme XML-dokument behandles. Problemet er, at REXML og Nokogiri behandler digitale signaturer i XML-dokumentet forskelligt, hvilket kan udnyttes til at skabe situationer, hvor én signatur bruges ved verifikation, mens en anden anvendes ved brugerattestation. Denne mulighed gør det muligt for en angriber at anvende XML Signature Wrapping (XSW) angrebsmetoden til at forfalske et SAML-svar for vilkårligt indhold, idet de har adgang til ethvert underskrevet SAML-dokument.
Problemet blev identificeret som følge af en initiative fra GitHub, som overvejede at migrere GitHub til brugen af dette bibliotek og for at tjekke sikkerheden, arrangerede en bug bounty-konkurrence i et testmiljø, der anvendte ruby-saml-biblioteket til SAML-autentifikation. En af sikkerheds forskerne bemærkede en sårbarhed. I selve problemanalysen identificerede en medarbejder fra GitHub endnu en angrebsmetode baseret på det samme princip.
Muligheden for angreb blev senere bekræftet for GitLab. I konteksten af GitLab tillader sårbarheden en angriber, der har adgang til et korrekt underskrevet SAML-dokument, at autentificere sig som en anden bruger, hvilket vil sige, at for at omgå autentifikationen og logge ind som en anden bruger skal angriberen allerede have adgang til en af de aktive brugerkonti.
Kilde: opennet.ru
