Korrigerende oppdateringer for GitLab samarbeidsutviklingsplattformen har blitt publisert — 17.9.2, 17.8.5 og 17.7.7 — som fikser en sårbarhet (CVE-2025-25291, CVE-2025-25292) som gjør det mulig å omgå SAML (Security Assertion Language) authentic markup. Sårbarheten finnes i Ruby-biblioteket ruby-saml, som implementerer funksjoner for SAML-autorisasjon. I tillegg til GitLab, påvirker sårbarheten også andre prosjekter som bruker dette biblioteket. Problemet ble løst i ruby-saml 1.18.0 og 1.12.4 oppdateringer.
Sårbarheten er forårsaket av forskjeller i måten ReXML- og Nokogiri-parsere analyserer XML-dokumenter på, noe som resulterte i at dokumenter med forskjellige strukturer ble generert ved behandling av det samme XML-dokumentet. Problemet er at REXML og Nokogiri håndterer digitale signaturer i et XML-dokument forskjellig, noe som kan brukes til å skape forhold der en signatur brukes til verifisering og en annen for brukerattestering. Denne funksjonen lar en angriper bruke XML Signature Wrapping (XSW)-angrepsmetoden for å forfalske et SAML-svar for vilkårlig innhold, gitt tilgang til et hvilket som helst signert SAML-dokument.
Problemet ble identifisert som et resultat av et initiativ fra GitHub, som vurderte muligheten for å migrere GitHub for å bruke dette biblioteket og, for å teste sikkerheten, organiserte en konkurranse (Bug bounty) for å hacke et testmiljø der ruby-saml-biblioteket ble brukt til SAML-autentisering. En sikkerhetsforsker påpekte sårbarheten. Mens han undersøkte problemet, oppdaget en GitHub-ansatt en annen angrepsmetode basert på samme prinsipp.
Muligheten for angrepet ble senere bekreftet for GitLab. I GitLab-sammenheng tillater sårbarheten en angriper med tilgang til et hvilket som helst korrekt signert SAML-dokument å autentisere seg som en annen bruker, dvs. For å omgå autentisering og logge på som en annen bruker, må angriperen allerede ha tilgang til en av arbeidskontoene.
Kilde: opennet.ru
