Korrigierte Updates für die Plattform zur Zusammenarbeit GitLab veröffentlicht – Versionen 17.3.3, 17.2.6 und 17.1.8, in denen eine kritische Sicherheitsanfälligkeit behoben wurde, die die SAML-basierte Authentifizierung umgehen kann (Security Assertion Markup Language). Das Problem wird durch eine Sicherheitsanfälligkeit (CVE-2024-45409) in den Ruby-Bibliotheken ruby-saml und omniauth-saml verursacht, die die Client-Seite der SAML-Authentifizierung implementieren. Der Sicherheitsanfälligkeit wurde das maximale Gefährdungsniveau von 10 von 10 zugewiesen. Die Probleme wurden in den Updates für die Pakete ruby-saml (1.17.0 und 1.12.3) und omniauth-saml (2.2.0) behoben.
Die Sicherheitsanfälligkeit wird durch eine fehlerhafte Verarbeitung des XPath-Selectors verursacht, die zu einer falschen Überprüfung der XML-Signatur beim Parsen der Antwort vom SAML-Server führt. Ein nicht authentifizierter Angreifer, der Zugriff auf ein beliebiges signiertes SAML-Dokument hat, kann jede SAML-Antwort für beliebige Inhalte fälschen, indem er eine typische XSW-Attacke (XML Signature Wrapping) anwendet.
Das Ziel des Angriffs besteht darin, eine korrekt signierte Nachricht zu nehmen und eine zusätzliche gefälschte Nachricht in das damit verbundene XML-Dokument einzufügen, wobei dieselbe ID wie bei der ersten Nachricht verwendet wird (diese ID wird beim Parsen der ersten Nachricht verifiziert und aufgrund eines Fehlers als verifiziert auch für die zweite Nachricht angesehen). Im Kontext von Diensten, die SAML für die Authentifizierung verwenden, ermöglicht die Schwachstelle den Zugriff auf das System als beliebiger Benutzer.
Quelle: opennet.ru
