CVE-2026-53537
NiskieCVSS 3.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece Python-Multipart przed wersją 0.0.30 polega na tym, że funkcja parse_options_header dekoduje nagłówki Content-Disposition i Content-Type z użyciem RFC 2231/5987, co pozwala na przemycenie alternatywnej nazwy pola lub pliku (filename*) w formacie multipart/form-data. Atakujący może wykorzystać różnice w interpretacji tych nagłówków między komponentami bezpieczeństwa (WAF, proxy) a backendem, aby ominąć inspekcję.
Ocena ryzyka
Ryzyko polega na możliwości przesłania złośliwych danych do backendu z pominięciem filtrów bezpieczeństwa, co może prowadzić do nieautoryzowanego przetwarzania plików lub pól formularza.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę Python-Multipart do wersji 0.0.30 lub nowszej, która zawiera poprawkę eliminującą to zachowanie.
Inne podatności w Python-Multipart przed wersją 0.0.30
Zobacz wszystkie- CVE-2026-53540Niskie
W bibliotece Python-Multipart przed wersją 0.0.31 funkcja parse_form() nie walidowała nagłówka Content-Length przed użyciem go do ograniczenia odczytu treści żądania. Ujemna wartość Content-Length powodowała odczyt całego ciała żądania do pamięci zamiast w stałych fragmentach.
- CVE-2026-53539Wysokie
Podatność w bibliotece Python-Multipart przed wersją 0.0.30 powoduje kwadratową złożoność obliczeniową podczas parsowania treści typu application/x-www-form-urlencoded z separatorem średnika. Atakujący może wysłać małe, spreparowane żądanie zawierające wiele pól oddzielonych średnikami, co prowadzi do znacznego obciążenia procesora i potencjalnego wyczerpania zasobów.
- CVE-2026-53538Niskie
Python-Multipart przed wersją 0.0.30 błędnie traktował średnik (;) jako separator pól w ciałach żądań typu application/x-www-form-urlencoded, podczas gdy standard WHATWG i nowoczesne przeglądarki uznają tylko znak &. Ta różnica w parsowaniu umożliwia atakującemu przemycenie dodatkowych pól formularza obok komponentu sprawdzającego ciało żądania.
Oryginalny opis (angielski, źródło NVD)
Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.30, parse_options_header parsed Content-Disposition (and Content-Type) headers with email.message.Message, which transparently applies RFC 2231/5987 decoding. The extended parameter syntax (filename*=charset'lang'value, name*=..., and the filename*0/filename*1 continuation form) is decoded and surfaced under the bare filename/name key, and overrides the plain parameter when both are present. RFC 7578 §4.2 explicitly forbids the filename* form in multipart/form-data. Components that follow RFC 7578, or that do not implement RFC 2231/5987 decoding for multipart/form-data (WAFs, proxies, gateways), may interpret such a header differently. An attacker can exploit that difference to smuggle a different field name or filename past an upstream inspector to the backend. This vulnerability is fixed in 0.0.30.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

