Biblioteka ruby-saml w wersjach do 1.12.4 włącznie zawiera krytyczną podatność umożliwiającą ominięcie uwierzytelnienia SAML. Atakujący bez żadnych uprawnień może przeprowadzić atak Signature Wrapping, uzyskując nieautoryzowany dostęp do chronionych zasobów.
▸ Pokaż oryginał (EN)
The ruby-saml library implements the client side of an SAML authorization. Versions up to and including 1.12.4, are vulnerable to authentication bypass through the libxml2 canonicalization process used by Nokogiri for document transformation, which allows an attacker to execute a Signature Wrapping attack. When libxml2’s canonicalization is invoked on an invalid XML input, it may return an empty string rather than a canonicalized node. ruby-saml then proceeds to compute the DigestValue over this empty string, treating it as if canonicalization succeeded. This issue is fixed in version 1.18.0.
Podatność wynika z nieprawidłowej obsługi błędów w procesie kanonizacji XML wykonywanego przez bibliotekę libxml2 (za pośrednictwem Nokogiri). Gdy libxml2 przetwarza nieprawidłowe wejście XML, zamiast błędu może zwrócić pusty ciąg znaków zamiast poprawnie skanonikalizowanego węzła. Biblioteka ruby-saml kontynuuje wówczas obliczanie wartości DigestValue dla tego pustego ciągu, traktując operację jak zakończoną sukcesem. Taki błąd umożliwia atakującemu skonstruowanie specjalnie spreparowanej odpowiedzi SAML (atak Signature Wrapping), w której podpis cyfrowy jest weryfikowany dla innej treści niż ta faktycznie przetwarzana przez aplikację.
Atakujący może całkowicie ominąć mechanizm uwierzytelnienia oparty na SAML i podszyć się pod dowolnego użytkownika, w tym administratora, uzyskując nieautoryzowany dostęp do aplikacji chronionych przez ruby-saml.
Należy zaktualizować bibliotekę ruby-saml do wersji 1.18.0, w której problem został naprawiony. Patch dostępny jest w repozytorium GitHub projektu SAML-Toolkits/ruby-saml.
Biblioteka ruby-saml (OneLogin) w wersjach do 1.12.4 włącznie.
Podatność dotyczy wyłącznie klienta SAML opartego na ruby-saml; aplikacje korzystające z tej biblioteki do federacji tożsamości powinny traktować aktualizację priorytetowo. Poprawka dostępna pod adresem: https://github.com/SAML-Toolkits/ruby-saml/commit/acac9e9cc0b9a507882c614f25d41f8b47be349a
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XOnelogin Ruby Saml
APPOnelogin< 1.18.0
Powiązane podatności
Auth Bypass w ruby-saml przez atak Signature Wrapping (CVE-2025-66567)
Authentication bypass w ruby-saml poprzez Signature Wrapping (SAML SSO)
Pominięcie uwierzytelnienia SAML SSO przez atak Signature Wrapping w ruby-saml
Ruby-SAML: pominięcie weryfikacji podpisu odpowiedzi SAML — Auth Bypass
xml_security.rb in the ruby-saml gem before 1.0.0 for Ruby allows XPath injection and code execution because p...