CVE-2026-46498
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
W OpenAM OAuthTokenStore odczytuje identyfikatory tokenów dostarczone przez wywołującego ze wspólnego Core Token Store (CTS) bez przestrzeni nazw przeznaczonej tylko dla OAuth, a OAuthAdapter akceptuje wiersz, którego BLOB rzekomo zawiera token OAuth, bez powiązania zaufanego typu CTS i weryfikacji integralności. Atakujący, który może umieścić kontrolowany JSON w CTS pod znanym identyfikatorem tokenu, na przykład przez Push Registration, a następnie anonimowe wywołanie zwrotne SNS w włączonym realmie, może wygenerować tokeny bearer OAuth i tokeny ID OpenID Connect z wybranym podmiotem, klientem, realmem i zakresem. Problem naprawiono w wersji 16.1.1.
Ocena ryzyka
Atakujący może wygenerować ważne tokeny OAuth i OpenID Connect, podszywając się pod dowolnego użytkownika lub klienta. Prowadzi to do nieautoryzowanego dostępu do chronionych zasobów i naruszenia zaufania.
Rekomendacja
Zaktualizuj OpenAM do wersji 16.1.1 lub nowszej. Do czasu aktualizacji ogranicz możliwość zapisu do CTS i monitoruj nietypowe tokeny.
Inne podatności w OpenAM
Zobacz wszystkie- CVE-2016-10097Wysokie
W OpenAM 10.1.0 występuje podatność XXE (XML External Entity) w ścieżce /SSOPOST/metaAlias/%realm%/idpv2, która pozwala zdalnym atakującym na odczyt dowolnych plików za pomocą parametru SAMLRequest.
- CVE-2026-62379Krytyczne
W OpenAM w wersjach przed 16.1.2 endpoint pre-autoryzacji /authservice PLL przyjmuje element XML CustomCallback, którego wartość className pozwala na załadowanie i utworzenie dowolnej klasy Java bez weryfikacji, czy implementuje DSAMECallbackInterface. Domyślna konfiguracja udostępnia ten endpoint bez uwierzytelnienia, co umożliwia atakującemu wykonanie kodu w procesie serwera poprzez niebezpieczną deserializację. Włączenie opcji sunRemoteAuthSecurityEnabled nie zapobiega temu, ponieważ sprawdzenie następuje zbyt późno.
- CVE-2026-62263Krytyczne
W OpenAM w wersjach przed 16.1.2 metoda WebAuthnAuthentication.deserialize stosuje ObjectInputFilter, który zezwala na każdy serializowany obiekt na głębokości większej niż 1, ograniczając jedynie obiekt główny AuthenticatorImpl. Atakujący przed uwierzytelnieniem może dostarczyć userHandle, którego graf serializacji zawiera prawidłowy obiekt główny AuthenticatorImpl oraz zagnieżdżoną klasę gadget, powodując wykonanie readObject lub readResolve przed weryfikacją. Omija to niekompletną naprawę wcześniejszej podatności deserializacji WebAuthn.
- CVE-2026-48717Krytyczne
W OpenAM w wersjach przed 16.1.1 AuthorizationCodeGrantTypeHandler wymaga code_verifier tylko wtedy, gdy włączone jest ustawienie codeVerifierEnforced dla całego realm. Ponieważ ustawienie jest domyślnie wyłączone, atakujący, który przechwyci kod autoryzacyjny chroniony przez PKCE, może pominąć code_verifier i wymienić kod na token. Klienci publiczni są bezpośrednio narażeni, a wykorzystanie dla klientów poufnych wymaga dodatkowo materiału uwierzytelniającego klienta.
- CVE-2026-46619Krytyczne
W OpenAM w wersjach przed 16.1.1 moduł uwierzytelniania MSISDN w MSISDNValidation konkatenuje wartość MSISDN z żądania do filtra wyszukiwania LDAP bez escapowania, a domyślna pusta lista zaufanych bram pozwala na cały ruch. W realmie, w którym moduł MSISDN jest włączony w osiągalnym łańcuchu uwierzytelniania, nieuwierzytelniony zdalny atakujący może wstrzyknąć metaznaki filtra LDAP, wybrać dowolnego pasującego użytkownika i uzyskać sesję OpenAM bez hasła.
- CVE-2026-45052Krytyczne
W OpenAM w wersjach przed 16.1.1 odbiornik SOAP Liberty Web Services pozwala nieuwierzytelnionym zdalnym żądaniom zapisywać trwałe wpisy przez SOAPReceiver i DiscoveryService do magazynu Liberty Discovery użytkownika oraz współdzielonej gałęzi Discovery root-realm. Handlery po stronie serwera omijają ACL LDAP i tożsamości, a ścieżka globalna używa wewnętrznego tokenu administracyjnego. Wdrożenia korzystające z danych Liberty discovery mogą następnie używać zmanipulowanych rekordów routingu usług lub mechanizmów bezpieczeństwa.
- CVE-2026-45051Krytyczne
W OpenAM w wersjach przed 16.1.1 WebAuthnAuthentication ładuje serializowany graf obiektów AuthenticatorImpl z skonfigurowanego userAttribute przez loadAuthenticators bez ObjectInputFilter. Wykorzystanie wymaga osiągalności przepływu WebAuthn oraz wcześniejszego zapisania kontrolowanych danych do tego atrybutu przez delegowaną administrację, provisioning, dostęp do katalogu, starszą samo-rejestrację REST lub niebezpieczną konfigurację. Gdy te warunki są spełnione, dane są deserializowane przed weryfikacją asercji i mogą wykonać gadget z classpath w procesie serwera aplikacji.
- CVE-2026-33439Krytyczne
OpenAM przed wersją 16.0.6 jest podatny na zdalne wykonanie kodu (RCE) przed uwierzytelnieniem poprzez niebezpieczną deserializację Java parametru HTTP jato.clientSession. Atakujący omija zabezpieczenie WhitelistObjectInputStream zastosowane dla parametru jato.pageSession po CVE-2021-35464. Wystarczy wysłać spreparowany serializowany obiekt Java jako parametr GET/POST do dowolnego endpointu JATO ViewBean zawierającego tagi <jato:form>.
- CVE-2023-37471Krytyczne
OpenAM do wersji 14.7.2 nieprawidłowo weryfikuje podpisy odpowiedzi SAML w procesie SSO, co pozwala atakującym na podszywanie się pod dowolnego użytkownika OpenAM, w tym administratora.
- CVE-2026-46560Wysokie
W OpenAM przed wersją 16.1.1 moduł uwierzytelniania RADIUS otwiera niepołączony socket datagramowy i ufa pierwszemu datagramowi UDP odebranemu na porcie źródłowym klienta. Ścieżka odbioru nie weryfikuje źródłowego IP i portu, nie dopasowuje identyfikatora odpowiedzi do żądania ani nie sprawdza Response Authenticator (RFC 2865); Message-Authenticator (RFC 2869) nie jest wysyłany ani wymagany. Każdy pakiet inny niż Reject/Challenge jest traktowany jako sukces, więc atakujący może wyścignąć prawdziwy serwer lub rozsyłać sfałszowane Access-Accept i uzyskać sesję dla dowolnej nazwy użytkownika mapowanej na RADIUS bez znajomości wspólnego sekretu.
Oryginalny opis (angielski, źródło NVD)
Open Access Management (OpenAM) is an access management solution. Prior to 16.1.1, OAuthTokenStore reads caller-supplied token identifiers from the shared Core Token Store (CTS) without an OAuth-only namespace, and OAuthAdapter accepts a row whose BLOB claims to contain an OAuth token without binding the trusted CTS type or verifying integrity. An attacker who can place controlled JSON in CTS under a known token identifier, such as through Push Registration followed by an anonymous SNS callback in an enabled realm, can mint OAuth bearer tokens and OpenID Connect ID tokens with chosen subject, client, realm, and scope. The flaw does not by itself create an OpenAM SSO session or grant console access. This issue is fixed in version 16.1.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

