CRITICAL🇬🇧 English

CVE-2025-65015

Atak wyczerpania zasobów przez duże tokeny JWT w bibliotece joserfc

CVSS 9.2v4.0pub. 2025-11-18upd. 2026-01-15

Biblioteka Python joserfc (autorstwa Hsiaoming) jest podatna na atak wyczerpania zasobów (CWE-770) poprzez przesyłanie nadmiernie dużych tokenów JWT. Atakujący może spowodować przetwarzanie ekstremalnie dużych komunikatów w systemach logowania, co może prowadzić do niedostępności aplikacji lub infrastruktury diagnostycznej.

Pokaż oryginał (EN)

joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. In versions from 1.3.3 to before 1.3.5 and from 1.4.0 to before 1.4.2, the ExceededSizeError exception messages are embedded with non-decoded JWT token parts and may cause Python logging to record an arbitrarily large, forged JWT payload. In situations where a misconfigured — or entirely absent — production-grade web server sits in front of a Python web application, an attacker may be able to send arbitrarily large bearer tokens in the HTTP request headers. When this occurs, Python logging or diagnostic tools (e.g., Sentry) may end up processing extremely large log messages containing the full JWT header during the joserfc.jwt.decode() operation. The same behavior also appears when validating claims and signature payload sizes, as the library raises joserfc.errors.ExceededSizeError() with the full payload embedded in the exception message. Since the payload is already fully loaded into memory at this stage, the library cannot prevent or reject it. This issue has been patched in versions 1.3.5 and 1.4.2.

🤖 Analiza AI
Jak działa

Gdy joserfc przetwarza token JWT o nadmiernym rozmiarze, zgłasza wyjątek ExceededSizeError, którego komunikat zawiera oryginalny, niezakodowany fragment tokenu JWT (np. pełny nagłówek lub payload). Ponieważ payload jest w tym momencie już w całości załadowany do pamięci, biblioteka nie jest w stanie go odrzucić przed osadzeniem w komunikacie wyjątku. W środowiskach, gdzie brakuje prawidłowo skonfigurowanego serwera produkcyjnego (np. nginx, Apache) ograniczającego rozmiar nagłówków HTTP, atakujący może przesłać dowolnie duży token bearer w nagłówku Authorization. Systemy logowania (np. Python logging) oraz narzędzia diagnostyczne (np. Sentry) mogą wówczas przetwarzać i zapisywać ekstremalnie duże komunikaty, zużywając zasoby systemowe.

Skutki

Atakujący może doprowadzić do niedostępności aplikacji (DoS) poprzez przeciążenie systemu logowania lub narzędzi diagnostycznych przetwarzających ogromne komunikaty błędów. Atak może też skutkować nadmiernym zużyciem zasobów systemowych (pamięć, dysk, przepustowość) zarówno po stronie aplikacji, jak i zewnętrznych usług agregujących logi.

Mitygacja

Należy zaktualizować bibliotekę joserfc do wersji 1.3.5 lub 1.4.2, w których problem został naprawiony. Dodatkowo zaleca się skonfigurowanie produkcyjnego serwera HTTP (np. nginx, Apache) z limitem rozmiaru nagłówków HTTP przed aplikacją Python, co stanowi dodatkową warstwę ochrony.

Kogo dotyczy

Biblioteka joserfc w wersjach od 1.3.3 do przed 1.3.5 oraz od 1.4.0 do przed 1.4.2. Szczególnie narażone są aplikacje pozbawione produkcyjnego serwera HTTP ograniczającego rozmiar nagłówków żądań.

Uwagi

Podatność dotyczy wyłącznie dostępności (VA:H, SA:H) — brak wpływu na poufność i integralność danych. Problem jest szczególnie istotny w aplikacjach bez warstwy odwrotnego proxy (reverse proxy) ograniczającej rozmiar żądań HTTP.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Hsiaoming Joserfc

    APP
    Hsiaoming
    1.3.3 – 1.3.5 (bez)1.4.0 – 1.4.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-27932HIGH7.5ten sam produkt

joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOS...