Eine Schwachstelle in der Bibliothek ruby-saml, die zu einer Umgehung der Authentifizierung in GitLab führt.

Es wurden Korrektur-Updates für die Plattform zur Zusammenarbeit bei der Entwicklung GitLab - 17.9.2, 17.8.5 und 17.7.7 veröffentlicht, in denen eine Sicherheitsanfälligkeit (CVE-2025-25291, CVE-2025-25292) behoben wurde, die eine Umgehung der SAML-authentifizierung (Security Assertion Markup Language) ermöglicht. Die Sicherheitsanfälligkeit ist in der Ruby-Bibliothek ruby-saml vorhanden, die Funktionen für die SAML-Authentifizierung implementiert. Neben GitLab betrifft die Sicherheitsanfälligkeit auch andere Projekte, die diese Bibliothek verwenden. Das Problem wurde in den Updates ruby-saml 1.18.0 und 1.12.4 behoben.

Die Sicherheitsanfälligkeit wird durch Unterschiede in der Analyse von XML-Dokumenten durch die Parser ReXML und Nokogiri verursacht, wodurch bei der Verarbeitung desselben XML-Dokuments Dokumente mit unterschiedlicher Struktur generiert wurden. Das Problem liegt darin, dass REXML und Nokogiri digitale Signaturen im XML-Dokument unterschiedlich verarbeiten, was ausgenutzt werden kann, um Bedingungen zu schaffen, unter denen bei der Überprüfung eine Signatur verwendet wird, während bei der Benutzerauthentifizierung eine andere verwendet wird. Diese Möglichkeit erlaubt es einem Angreifer, die XSW (XML Signature Wrapping)-Angriffsmethode zu nutzen, um eine SAML-Antwort für beliebige Inhalte zu fälschen, sofern Zugriff auf irgendein signiertes SAML-Dokument besteht.

Das Problem wurde im Rahmen einer Initiative von GitHub identifiziert, die in Erwägung zog, GitHub auf die Verwendung dieser Bibliothek umzustellen, und zu Sicherheitsprüfungszwecken einen Wettbewerb (Bug bounty) zur Ausnutzung einer Testumgebung organisierte, in der die Bibliothek ruby-saml für die SAML-Authentifizierung genutzt wurde. Ein Sicherheitsforscher machte auf die vorhandene Sicherheitsanfälligkeit aufmerksam. Bei der Analyse des Problems entdeckte ein Mitarbeiter von GitHub eine weitere Angriffsart, die auf demselben Prinzip basiert.

Später wurde die Möglichkeit eines Angriffs für GitLab bestätigt. Im Kontext von GitLab ermöglicht die Sicherheitsanfälligkeit einem Angreifer, der Zugriff auf ein korrekt signiertes SAML-Dokument hat, sich unter einem anderen Benutzer zu authentifizieren, d.h. um die Authentifizierung zu umgehen und sich als ein anderer Benutzer anzumelden, muss der Angreifer bereits Zugriff auf eines der funktionierenden Benutzerkonten haben.

Quelle: opennet.ru

60GB SSD 8Gb DDR4