CVE-2026-108039
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
Domyślnie StaxUtils nie nakładał limitu na całkowitą liczbę elementów ani znaków w dokumencie XML. Bardzo duże żądanie mogło zużyć dużo pamięci i CPU podczas parsowania, szczególnie gdy CXF buduje DOM z wejścia (np. SAAJ lub WS-Security), i mogło spowodować denial of service, gdy nie skonfigurowano limitu rozmiaru żądania. Obecnie oba limity mają wartości domyślne: maksymalna liczba elementów to 100 × maxChildElements (domyślnie 5 000 000), a maksymalny rozmiar dokumentu to 256M znaków.
Ocena ryzyka
Atakujący może przeprowadzić atak typu denial of service poprzez wysłanie dużego dokumentu XML. Może to prowadzić do wyczerpania zasobów i niedostępności usługi.
Rekomendacja
Zaktualizuj Apache CXF do wersji 4.2.4, 4.1.9 lub 3.6.13, które naprawiają ten problem.
Inne podatności w Apache CXF
Zobacz wszystkie- CVE-2017-3156Wysokie
Kod walidacji MAC OAuth2 Hawk i JOSE w Apache CXF przed wersją 3.0.13 oraz 3.1.x przed wersją 3.1.10 nie używa algorytmu porównywania podpisów MAC w stałym czasie, co może być wykorzystane przez zaawansowane ataki czasowe.
- CVE-2026-97468Krytyczne
STSTokenValidator i Security Token Service (STS) w Apache CXF buforowały zwalidowane tokeny bezpieczeństwa przy użyciu niekryptograficznego 32-bitowego skrótu (Java Arrays.hashCode/hashCode()) i traktowały trafienie w pamięć podręczną jako dowód walidacji. Atakujący mógł stworzyć token (np. UsernameToken lub samopodpisana asercja SAML) którego skrót koliduje z wpisem w pamięci podręcznej, co pozwalało na akceptację tokenu bez weryfikacji hasła, zaufania podpisu czy wywołania STS. Mogło to umożliwić atakującemu uwierzytelnienie jako inny użytkownik i uzyskanie tokenów podpisanych przez STS dla tej tożsamości.
- CVE-2026-71575Krytyczne
Sprawdzenie świeżości uwierzytelnienia max_age w OidcClientCodeRequestFilter było nieskuteczne z powodu niezgodności jednostek (milisekundy/sekundy) i odwróconej polaryzacji porównania. Każda relying party używająca setMaxAgeOffset do wymuszania ponownego uwierzytelnienia cicho akceptowała sesje o dowolnym wieku, omijając polityki step-up authentication.
- CVE-2026-107938Krytyczne
W Apache CXF transport klienta HTTP oparty na Netty (cxf-rt-transports-http-netty-client) nie weryfikował, czy nazwa hosta w certyfikacie TLS serwera odpowiada nazwie wywoływanego hosta. Dotyczyło to zarówno HTTP/1.1, jak i HTTP/2, nawet gdy disableCNCheck pozostawało na domyślnej wartości false. Łańcuch certyfikatów był walidowany względem skonfigurowanego trust store, ale tożsamość punktu końcowego nie była. Atakujący w sieci mogący przechwycić ruch mógł przedstawić dowolny certyfikat zaufany przez klienta, np. publicznie wydany certyfikat dla kontrolowanej domeny, i podszyć się pod usługę docelową. Mógł następnie czytać lub modyfikować wymieniane wiadomości, w tym poświadczenia.
- CVE-2026-68079Krytyczne
W Apache CXF w komponencie DefaultEncryptingCodeDataProvider kod autoryzacyjny może być wykorzystany wielokrotnie z powodu błędu w implementacji funkcji removeCodeGrant. Narusza to wymóg RFC, że kod autoryzacyjny nie może być użyty więcej niż raz. Zalecane jest uaktualnienie do wersji 4.2.3, 4.1.8 lub 3.6.12.
- CVE-2026-65583Krytyczne
Walidacja tokenów OIDC w Apache CXF może akceptować samowystawione tokeny ID bez wymaganych kontroli roszczeń (issuer/subject/audience/time i sub_jwk binding), co umożliwia obejście uwierzytelnienia przy użyciu spreparowanych tokenów. Należy jednak zauważyć, że samowystawione tokeny ID nie są domyślnie akceptowane w walidatorze. Zalecane jest uaktualnienie do wersji 4.2.3, 4.1.8 lub 3.6.12.
- CVE-2026-63687Krytyczne
W Apache CXF filtr JwtRequestCodeFilter kopiuje wszystkie roszczenia z podpisanego JWT do mapy parametrów autoryzacji bez wykluczania parametrów wrażliwych dla bezpieczeństwa. Klient, który może wygenerować prawidłowo podpisany JWT (np. gdy zna lub skompromituje client_secret), może podmienić wartości code_challenge, code_challenge_method, nonce i state, co osłabia integralność PKCE i ochronę przed replay w OpenID Connect. Zalecane jest uaktualnienie do wersji 4.2.3, 4.1.8 lub 3.6.12.
- CVE-2026-61466Krytyczne
W Apache CXF w punkcie końcowym rejestracji klientów OAuth2 Dynamic Client Registration serwer autoryzacyjny akceptuje i przechowuje wartość `scope` dostarczoną w żądaniu rejestracji bez jej walidacji względem listy dozwolonych zakresów. Może to prowadzić do samodzielnego nadania sobie uprzywilejowanych zakresów przez klienta podczas rejestracji. Zalecane jest uaktualnienie do wersji 4.2.3, 4.1.8 lub 3.6.12.
- CVE-2026-66909Krytyczne
Transport JMS w Apache CXF deserializuje treść każdej przychodzącej wiadomości JMS ObjectMessage przy użyciu natywnej deserializacji Java, bez żadnych ograniczeń typów. Każdy atakujący, który może umieścić wiadomość w kolejce JMS usługi, może przesłać złośliwy zserializowany obiekt, prowadząc do odmowy usługi lub, jeśli odpowiednia klasa gadget znajduje się na ścieżce klas, do zdalnego wykonania kodu. Poprawka wyłącza domyślnie deserializację ObjectMessage, z możliwością ponownego włączenia przez konfigurację.
- CVE-2026-50628Krytyczne
Błąd logiczny w OAuthRequestFilter odrzuca prawidłowe żądania pochodzące z powiązanego adresu IP, jednocześnie bezwarunkowo przepuszczając żądania z dowolnego innego adresu IP. Włączenie tej funkcji bezpieczeństwa przypadkowo tworzy odwróconą kontrolę bezpieczeństwa.
Oryginalny opis (angielski, źródło NVD)
By default, StaxUtils placed no limit on the total number of elements or the total number of characters in an XML document. A very large request could therefore use a lot of memory and CPU during parsing, especially where CXF builds a DOM from the input (for example SAAJ or WS-Security), and could cause a denial of service when no request size limit was configured. Both limits now have defaults: the maximum element count is 100 × maxChildElements (5,000,000 by default), and the maximum document size is 256M characters. Applications that process larger documents can raise the limits with the org.apache.cxf.stax.maxElementCount and org.apache.cxf.stax.maxXMLCharacters properties. Users are recommended to upgrade to versions 4.2.4 or 4.1.9 or 3.6.13, which fix this issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

