Apache CXF nieprawidłowo kopiuje wszystkie claims z podpisanego JWT żądania do mapy parametrów autoryzacyjnych bez wykluczania wrażliwych parametrów bezpieczeństwa. Umożliwia to klientowi posiadającemu znajomość lub dostęp do skompromitowanego client_secret podmianę kluczowych wartości chroniących przepływy OAuth2/OIDC.
▸ Pokaż oryginał (EN)
Apache CXF's JwtRequestCodeFilter copies all claims from a signed request JWT into the authorization parameter map without excluding security-sensitive parameters. A client that can produce a validly-signed request JWT (e.g., one whose client_secret is known or compromised) can thereby substitute the code_challenge, code_challenge_method, nonce, and state values that were set in the outer HTTP request, undermining PKCE integrity and OpenID Connect replay protection. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue.
Komponent JwtRequestCodeFilter w Apache CXF przepisuje wszystkie claims z podpisanego JWT żądania (Request Object) bezpośrednio do mapy parametrów autoryzacyjnych. Nie są przy tym wykluczane parametry takie jak code_challenge, code_challenge_method, nonce oraz state. Klient, który jest w stanie wygenerować poprawnie podpisany JWT (np. dysponując znajomością lub skompromitowanym client_secret), może tym samym nadpisać wartości tych parametrów ustawionych w zewnętrznym żądaniu HTTP. W efekcie dochodzi do naruszenia integralności mechanizmu PKCE (Proof Key for Code Exchange) oraz ochrony przed atakami replay w OpenID Connect.
Atakujący może podważyć ochronę PKCE oraz mechanizm anti-replay OpenID Connect, co może prowadzić do przejęcia sesji użytkownika lub nieuprawnionego dostępu do zasobów chronionych przez przepływy OAuth2/OIDC. Podatność umożliwia kompromitację poufności i integralności danych bez wymaganej interakcji użytkownika.
Należy zaktualizować Apache CXF do wersji 4.2.3, 4.1.8 lub 3.6.12, które zawierają poprawkę eliminującą opisaną podatność. Szczegóły dostępne w referencjach producenta na liście apache.org.
Apache CXF w wersjach poprzedzających 3.6.12, 4.1.8 oraz 4.2.3 korzystających z komponentu JwtRequestCodeFilter w przepływach OAuth2/OpenID Connect
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NApache Cxf
APPApache< 3.6.124.0.0 – 4.1.8 (bez)4.2.0 – 4.2.3 (bez)
Powiązane podatności
Apache CXF: RCE przez niebezpieczną deserializację JMS ObjectMessage
Apache CXF: wielokrotne użycie kodu autoryzacyjnego OAuth (CWE-294)
Apache CXF: brak walidacji scope w rejestracji klienta OAuth2
Apache CXF: pominięcie walidacji tokenów OIDC umożliwia authentication bypass
Apache CXF: brak walidacji pola 'aud' w tokenach JWT — Token Confusion