CVE-2026-118669
WysokieCVSS 8.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W bibliotece OAuthLib przed wersją 4.0.0 procedury obsługi grantów client_credentials oraz Resource Owner Password Credentials mogą uwierzytelnić request.client jako jednego klienta poufnego, zachowując jednocześnie dostarczony przez atakującego request.client_id używany w validate_grant_type i validate_scopes. Klient z niższymi uprawnieniami może w ten sposób spowodować, że autoryzacja grantów i zakresów użyje tożsamości innego klienta, co może skutkować wydaniem tokenów z nieautoryzowanymi grantami lub zakresami.
Ocena ryzyka
Organizacja może wydać tokeny z uprawnieniami lub zakresami, do których klient nie powinien mieć dostępu, co narusza izolację między klientami OAuth. Dotyczy to aplikacji, których walidatory opierają się na argumencie client_id.
Rekomendacja
Zaktualizuj OAuthLib do wersji 4.0.0 lub nowszej. Przejrzyj walidatory grantów i zakresów, aby upewnić się, że autoryzacja opiera się na request.client, a nie na dostarczanym przez klienta client_id.
Inne podatności w OAuthLib
Zobacz wszystkie- CVE-2026-49265Średnie
W bibliotece OAuthLib wersje od 3.0.0 do 4.0.0 mechanizm PKCE porównuje wartości code_verifier z zapisanymi wyzwaniami przy użyciu zwykłego porównania ciągów znaków, co może ujawniać informacje o czasie wspólnego prefiksu. Potencjalnie umożliwia to odzyskanie code_verifier, nieautoryzowane pozyskanie tokenu dostępu i przejęcie konta, choć praktyczne wykorzystanie wymaga przechwycenia jednorazowego kodu autoryzacji i wielu pomiarów. Luka została naprawiona w wersji 4.0.0.
- CVE-2026-49264Średnie
W bibliotece OAuthLib w wersjach od 0.6.1 do 4.0.0, gdy opcja enable_jsonp=True jest włączona, punkt końcowy RevocationEndpoint odzwierciedla niezwalidowany parametr callback w odpowiedziach sukcesu i błędów. Pozwala to na wykonanie złośliwego kodu JavaScript w kontekście aplikacji ładującej odpowiedź jako zaufany JSONP, jeśli atakujący ma wpływ na wartość callback. Luka jest domyślnie wyłączona i dotyczy tylko wdrożeń z jawnie włączonym JSONP. Naprawiono w wersji 4.0.0.
Oryginalny opis (angielski, źródło NVD)
OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. Prior to 4.0.0, the client_credentials and Resource Owner Password Credentials token grant handlers can authenticate request.client as one confidential client while retaining an attacker-supplied request.client_id for validate_grant_type and validate_scopes. A lower-privilege authenticated client can therefore cause grant and scope authorization to use another client's identity when an application validator relies on the documented client_id argument, potentially issuing tokens with unauthorized grants or scopes. Validators that authorize exclusively from request.client may not be affected. This issue is fixed in version 4.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

