Dex przed wersją 2.27.0 zawiera krytyczny zestaw podatności dotyczący koneктора SAML, który umożliwia obejście weryfikacji podpisu cyfrowego. Problem wynika z błędów kodowania XML w używanej bibliotece Go i może pozwolić atakującemu na sfałszowanie odpowiedzi SAML.
▸ Pokaż oryginał (EN)
Dex is a federated OpenID Connect provider written in Go. In Dex before version 2.27.0 there is a critical set of vulnerabilities which impacts users leveraging the SAML connector. The vulnerabilities enables potential signature bypass due to issues with XML encoding in the underlying Go library. The vulnerabilities have been addressed in version 2.27.0 by using the xml-roundtrip-validator from Mattermost (see related references).
Podatność (CWE-347 — nieprawidłowa weryfikacja podpisu kryptograficznego) wynika z błędów w sposobie przetwarzania i serializacji XML przez bibliotekę Go leżącą u podstaw Dex. Różnice pomiędzy reprezentacją XML podczas weryfikacji podpisu a tą używaną przy faktycznym przetwarzaniu danych umożliwiają obejście mechanizmu signature validation. Atakujący może dostarczyć spreparowaną odpowiedź SAML, która przejdzie weryfikację podpisu mimo zmodyfikowanej zawartości.
Atakujący może ominąć uwierzytelnianie oparte na SAML i uzyskać nieautoryzowany dostęp do zasobów chronionych przez Dex, potencjalnie podszywając się pod dowolnego użytkownika lub eskalując uprawnienia w federowanym środowisku OpenID Connect.
Należy zaktualizować Dex do wersji 2.27.0 lub nowszej, w której zastosowano bibliotekę xml-roundtrip-validator od Mattermost eliminującą podatne na atak wzorce przetwarzania XML. Szczegóły dostępne w oficjalnym komunikacie bezpieczeństwa: https://github.com/dexidp/dex/security/advisories/GHSA-m9hp-7r99-94h5
Dex (Linux Foundation) w wersjach przed 2.27.0, przy użyciu koneктора SAML.
Podatność dotyczy wyłącznie instalacji Dex korzystających z koneктора SAML — instalacje nieużywające SAML nie są narażone. Poprawka zaimplementowana w commicie 324b1c886b407594196113a3dbddebe38eecd4e8.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:NLinuxfoundation Dex
APPLinuxfoundation< 2.27.0
Powiązane podatności
Kradzież kodu autoryzacji OAuth w Dex (OpenID Connect) — dostęp do tokenów
Pominięcie uwierzytelniania SAML w bibliotece Dex (dexidp/dex)
Dex is an identity service that uses OpenID Connect to drive authentication for other apps. Dex 2.37.0 serves ...
containerd CRI plugin: brak walidacji etykiet obrazu umożliwia RCE na hoście
CloudNativePG: eskalacja uprawnień do superużytkownika PostgreSQL przez metrics exporter