Biblioteka samlify dla Node.js w wersjach przed 2.10.0 jest podatna na atak Signature Wrapping, który umożliwia atakującemu sfałszowanie odpowiedzi SAML i uwierzytelnienie się jako dowolny użytkownik. Podatność otrzymała ocenę CVSS 9.9 (CRITICAL), co czyni ją krytycznym zagrożeniem dla systemów korzystających z SAML SSO.
▸ Pokaż oryginał (EN)
samlify is a Node.js library for SAML single sign-on. A Signature Wrapping attack has been found in samlify prior to version 2.10.0, allowing an attacker to forge a SAML Response to authenticate as any user. An attacker would need a signed XML document by the identity provider. Version 2.10.0 fixes the issue.
Atak Signature Wrapping polega na manipulacji strukturą dokumentu XML zawierającego odpowiedź SAML — atakujący nie musi łamać podpisu kryptograficznego, lecz wykorzystuje błąd w jego weryfikacji (CWE-347: Improper Verification of Cryptographic Signature). Wystarczy, że atakujący dysponuje jakimkolwiek prawidłowo podpisanym dokumentem XML wystawionym przez dostawcę tożsamości (Identity Provider). Manipulując strukturą XML, atakujący może podłożyć sfałszowane twierdzenia (assertions) zawierające dowolną tożsamość użytkownika, podczas gdy biblioteka błędnie uznaje podpis za ważny.
Atakujący może uwierzytelnić się jako dowolny użytkownik w systemie — w tym jako administrator — bez znajomości hasła ani innych danych uwierzytelniających, co prowadzi do pełnego przejęcia kont i nieautoryzowanego dostępu do chronionych zasobów.
Należy niezwłocznie zaktualizować bibliotekę samlify do wersji 2.10.0, która zawiera poprawkę eliminującą podatność. Szczegóły dostępne w repozytorium GitHub projektu oraz w oficjalnym security advisory (GHSA-r683-v43c-6xqv).
Aplikacje Node.js wykorzystujące bibliotekę samlify w wersjach wcześniejszych niż 2.10.0.
Atak wymaga posiadania przez atakującego przynajmniej jednego prawidłowo podpisanego dokumentu XML od dostawcy tożsamości — nie jest to całkowicie bezwarunkowy dostęp, jednak stanowi niski próg wejścia w wielu środowiskach federacyjnych.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/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:XSamlify Project Samlify
APPSamlify Project< 2.10.0
Powiązane podatności
samlify is a Node.js library for SAML single sign-on. Prior to version 2.13.0, samlify’s template substitution...
An XML Signature Wrapping vulnerability exists in Samlify 2.2.0 and earlier, and in predecessor Express-saml2 ...