SicherheitsanfÀlligkeit in Ruby-SAML, die eine Umgehung der Authentifizierung in GitLab ermöglicht

Korrigierte Updates der Plattform fĂŒr die Organisation gemeinsamer Entwicklung in GitLab – 17.3.3, 17.2.6 und 17.1.8 wurden veröffentlicht, in denen eine kritische SicherheitsanfĂ€lligkeit behoben wurde, die eine Umgehung der SAML- (Security Assertion Markup Language) basierten Authentifizierung ermöglicht. Das Problem wurde durch eine SicherheitsanfĂ€lligkeit (CVE-2024-45409) in den Ruby-Bibliotheken ruby-saml und omniauth-saml verursacht, die die Client-Seite der SAML-Autorisierung implementieren. Die SicherheitsanfĂ€lligkeit wurde mit dem maximalen Gefahrenniveau von 10 aus 10 eingestuft. Das Problem wurde in den Aktualisierungen der Pakete ruby-saml (1.17.0 und 1.12.3) und omniauth-saml (2.2.0) behoben.

Die SicherheitsanfĂ€lligkeit wird durch die fehlerhafte Verarbeitung des XPath-Selectors verursacht, was zu einer falschen ÜberprĂŒfung der Signatur im XML-Format bei der Verarbeitung der Antwort vom SAML-Server fĂŒhrt. Ein nicht authentifizierter Angreifer mit Zugriff auf ein beliebiges signiertes SAML-Dokument kann jede SAML-Antwort fĂŒr beliebigen Inhalt mit Hilfe eines typischen XSW (XML Signature Wrapping)-Angriffs fĂ€lschen.

Das Wesen des Angriffs besteht darin, eine korrekt signierte Nachricht zu nehmen und in das zugehörige XML-Dokument eine zusĂ€tzliche gefĂ€lschte Nachricht einzufĂŒgen, wobei derselbe Identifikator verwendet wird wie bei der ersten Nachricht (diese Identifikation wird bei der Verarbeitung der ersten Nachricht verifiziert und aufgrund des Fehlers als verifiziert auch fĂŒr die zweite Nachricht akzeptiert). Im Kontext von Diensten, die SAML zur Autorisierung verwenden, ermöglicht die SicherheitsanfĂ€lligkeit, sich unter einem beliebigen Benutzer in das System einzuloggen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4