W Unity Catalog w wersji 0.4.0 i wcześniejszych istnieje krytyczna podatność umożliwiająca ominięcie uwierzytelniania (auth bypass) w endpointcie wymiany tokenów. Atakujący może podszyć się pod zaufanego użytkownika bez posiadania ważnych poświadczeń.
▸ Pokaż oryginał (EN)
Unity Catalog is an open, multi-modal Catalog for data and AI. In 0.4.0 and earlier, a critical authentication bypass vulnerability exists in the Unity Catalog token exchange endpoint (/api/1.0/unity-control/auth/tokens). The endpoint extracts the issuer (iss) claim from incoming JWTs and uses it to dynamically fetch the JWKS endpoint for signature validation without validating that the issuer is a trusted identity provider.
Endpoint /api/1.0/unity-control/auth/tokens odczytuje pole 'iss' (issuer) z przychodzącego tokenu JWT i na jego podstawie dynamicznie pobiera adres JWKS służący do weryfikacji podpisu tokenu. Problem polega na tym, że aplikacja nie sprawdza, czy wskazany wystawca (issuer) należy do listy zaufanych dostawców tożsamości. Atakujący może zatem skonstruować własny token JWT z dowolnym polem 'iss', wskazującym na kontrolowany przez siebie serwer JWKS, a aplikacja zweryfikuje podpis tokenu przy użyciu klucza publicznego dostarczonego przez atakującego — akceptując go jako prawidłowy.
Atakujący nieuwierzytelniony zdalnie może uzyskać nieautoryzowany dostęp do chronionych zasobów katalogu danych i AI, co prowadzi do naruszenia poufności oraz integralności przechowywanych danych i metadanych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (advisory GHSA-qqcj-rghw-829x na GitHub). Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do endpointu /api/1.0/unity-control/auth/tokens wyłącznie do zaufanych źródeł oraz wdrożenie walidacji listy dozwolonych wystawców (issuer allowlist) na poziomie warstwy pośredniczącej.
Unity Catalog (open-source) w wersji 0.4.0 i wcześniejszych
Podatność została ujawniona w ramach mechanizmu odpowiedzialnego ujawniania przez GitHub Security Advisory. Wektor CVSS wskazuje na brak wymogu uwierzytelnienia (PR:N) i brak interakcji użytkownika (UI:N), co czyni ją szczególnie niebezpieczną w środowiskach z publicznie dostępnym endpointem.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NUnitycatalog
APPUnitycatalog≤ 0.4.0