Katalog CVE

CVE-2026-54567

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.63%

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

Streszczenie

W Flask-Reuploaded od wersji 1.5.0 do 1.6.0 metoda UploadSet.save(storage, name=...) stosuje lowercase_ext do domyślnej ścieżki, ale dla nazwy podanej przez użytkownika używa rozszerzenia z zachowaniem wielkości liter przed sprawdzeniem listy AllExcept. Atakujący może obejść czarną listę, używając mieszanej wielkości liter w niebezpiecznym rozszerzeniu i zapisać plik w katalogu uploadu.

Ocena ryzyka

Jeśli katalog uploadu pozwala na wykonanie plików, atakujący może zapisać i uruchomić złośliwy kod z uprawnieniami serwera WWW, zagrażając poufności, integralności i dostępności.

Rekomendacja

Zaktualizuj Flask-Reuploaded do wersji 1.6.0, a do czasu aktualizacji używaj białych list rozszerzeń i wyłącz wykonywanie plików w katalogu uploadu.

Powiązane podatności

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

Flask-Reuploaded provides file uploads for Flask. From 1.5.0 until 1.6.0, UploadSet.save(storage, name=...) in src/flask_uploads/flask_uploads.py applies lowercase_ext to the default upload path but uses the case-preserving extension helper for a caller-supplied name before extension_allowed evaluates an AllExcept denylist. An attacker who controls the name override can use a mixed-case dangerous extension to bypass a lowercase denylist and store the file in the served upload directory. Exploitation requires a denylist configuration, a user-influenced name override, and a deployment that resolves or executes extensions case-insensitively; pure allowlists remain protected and path containment is not bypassed. On an execution-capable upload directory, the stored file can execute with the web server's privileges and affect confidentiality, integrity, and availability. This issue is fixed in version 1.6.0.

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