Katalog CVE

CVE-2026-114136

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.34%

Percentyl 26 - wyżej niż 26% wszystkich znanych CVE

Streszczenie

Django REST framework w wersjach od 3.6.4 do 3.18.2 używa wartości charset z nagłówka Content-Type dostarczonego przez klienta w codecs.getreader, akceptując kodeki transformujące bajty, takie jak bz2_codec. Pozwala to nieuwierzytelnionemu klientowi na przesłanie skompresowanego ciała JSON, które zostanie rozpakowane po sprawdzeniu DATA_UPLOAD_MAX_MEMORY_SIZE, zużywając znaczną pamięć na proces roboczy.

Ocena ryzyka

Atakujący może wysłać bardzo małe żądanie, które po dekompresji zużyje dużą ilość pamięci, prowadząc do wyczerpania zasobów i odmowy usługi dla innych użytkowników.

Rekomendacja

Zaktualizuj Django REST framework do wersji 3.18.2 lub nowszej, która ogranicza akceptowane kodeki do kodowań tekstowych.

Inne podatności w Django REST framework

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Django REST framework is a toolkit for building Web APIs. From 3.6.4 until 3.18.2, JSONParser.parse in rest_framework/parsers.py uses the client-supplied Content-Type charset value with codecs.getreader, which accepts byte-transform codecs such as bz2_codec rather than only text encodings. A remote unauthenticated client can therefore cause a compressed JSON request body to be expanded after Django has enforced DATA_UPLOAD_MAX_MEMORY_SIZE against only the wire bytes, allowing a very small request to consume substantial per-worker memory. The default parser set is sufficient, and any reachable endpoint that accepts a JSON body is affected. This issue is fixed in version 3.18.2.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS