CRITICAL✓ PATCH🇬🇧 English

CVE-2023-31047

Pominięcie walidacji przy wielokrotnym przesyłaniu plików w Django

CVSS 9.8v3.1pub. 2023-05-07upd. 2025-01-29

W Django 3.2 przed wersją 3.2.19, 4.x przed 4.1.9 oraz 4.2 przed 4.2.1 możliwe było ominięcie walidacji podczas przesyłania wielu plików za pomocą jednego pola formularza. Podatność jest krytyczna, ponieważ pozwala atakującemu na przesłanie niezwalidowanych plików bez uwierzytelnienia.

Pokaż oryginał (EN)

In Django 3.2 before 3.2.19, 4.x before 4.1.9, and 4.2 before 4.2.1, it was possible to bypass validation when using one form field to upload multiple files. This multiple upload has never been supported by forms.FileField or forms.ImageField (only the last uploaded file was validated). However, Django's "Uploading multiple files" documentation suggested otherwise.

🤖 Analiza AI
Jak działa

Klasy forms.FileField oraz forms.ImageField nigdy nie obsługiwały wielokrotnego przesyłania plików — w przypadku podania wielu plików walidowana była jedynie ostatnia przesłana wartość. Dokumentacja Django dotycząca funkcji 'Uploading multiple files' błędnie sugerowała, że takie zachowanie jest wspierane i bezpieczne. Atakujący mógł wykorzystać tę rozbieżność, aby przesłać wiele plików przez pojedyncze pole formularza, z których wszystkie poza ostatnim omijały mechanizmy walidacji.

Skutki

Atakujący bez uwierzytelnienia może przesłać na serwer pliki omijające zdefiniowane reguły walidacji, co może prowadzić do naruszenia integralności i poufności danych, a w zależności od logiki aplikacji — również do jej destabilizacji.

Mitygacja

Należy zaktualizować Django do wersji 3.2.19, 4.1.9 lub 4.2.1 (odpowiednio do używanej gałęzi). Użytkownicy dystrybucji Fedora powinni zastosować patche dostępne za pośrednictwem oficjalnych repozytoriów pakietów.

Kogo dotyczy

Django 3.2 przed wersją 3.2.19, Django 4.x przed wersją 4.1.9, Django 4.2 przed wersją 4.2.1; a także dystrybucja Fedora zawierająca podatne wersje Django.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Djangoproject Django

    APP
    Djangoproject
    4.23.2 – 3.2.19 (bez)4.0 – 4.1.9 (bez)
  • Fedora Project Fedora

    OS
    Fedoraproject
    38
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2024-4577CRITICAL9.8⚠ KEVPL ✓ten sam produkt

PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit

CVE-2024-5274CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML

CVE-2024-4947CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)

CVE-2024-4671CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox

CVE-2023-6345CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Integer overflow w Skia w Google Chrome — sandbox escape