CVE-2026-56814
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 64 - wyżej niż 64% wszystkich znanych CVE
Streszczenie
Parser multipart w Plug.Parsers.MULTIPART nie egzekwuje limitu :length wobec wszystkich zasobów, co pozwala nieuwierzytelnionemu atakującemu na wywołanie DoS. Nagłówki części nie są liczone, a puste części tworzą pliki tymczasowe, prowadząc do wyczerpania inodów, dysku i pamięci. Problem dotyczy wersji plug od 1.4.0-rc.0 do 1.16.6, 1.17.0-1.17.4, 1.18.0-1.18.5, 1.19.1-1.19.5, 1.20.0-1.20.3.
Ocena ryzyka
Organizacja narażona jest na ataki DoS, które mogą prowadzić do niedostępności aplikacji. Wyczerpanie zasobów systemowych może również wpłynąć na inne usługi.
Rekomendacja
Należy zaktualizować plug do wersji 1.16.6, 1.17.4, 1.18.5, 1.19.5 lub 1.20.3 w zależności od używanej linii. Dodatkowo można ograniczyć rozmiar żądań i liczbę części na poziomie serwera.
Inne podatności w Plug
Zobacz wszystkie- CVE-2026-54892Wysokie
W Plug występuje problem z wydajnością w dekoderze zagnieżdżonych parametrów, który pozwala nieautoryzowanemu zdalnemu atakującemu na wywołanie odmowy usługi. Złożoność algorytmu dekodowania jest kwadratowa w zależności od liczby poziomów zagnieżdżenia, co może prowadzić do zablokowania serwera.
- CVE-2026-56813Niskie
W bibliotece elixir-plug plug funkcja Plug.Conn.Cookies.encode/2 buduje nagłówek Set-Cookie, wstawiając wartość cookie oraz atrybuty path, domain, same_site i extra bez neutralizacji separatora ;. Aplikacja umieszczająca dane kontrolowane przez atakującego w wartości lub atrybucie cookie pozwala atakującemu wstrzyknąć ; i dodać lub nadpisać atrybuty cookie.
Oryginalny opis (angielski, źródło NVD)
Plug.Parsers.MULTIPART, the multipart request-body parser used to handle file uploads and multipart forms, does not enforce its :length budget against all consumed resources, allowing an unauthenticated remote attacker to cause denial of service. The parser charges the :length limit only for part body bytes; part header bytes are never counted, and a part with an empty body costs zero. Because every part whose Content-Disposition carries a non-empty filename creates a fresh temporary file (via Plug.Upload) and retains a Plug.Upload struct for the duration of the request, an attacker can send a single request composed of many empty-body file parts. Such a request stays well under the configured :length limit (8,000,000 bytes by default) while creating one temporary file per part, leading to inode and disk exhaustion and unbounded memory growth. Any application using Plug.Parsers with the :multipart parser is affected, and no authentication is required, only reachability of a multipart endpoint over HTTP. This vulnerability is associated with program files lib/plug/parsers/multipart.ex and program routines Plug.Parsers.MULTIPART.parse_multipart/2, Plug.Parsers.MULTIPART.parse_multipart_headers/5, Plug.Parsers.MULTIPART.parse_multipart_body/4, and Plug.Parsers.MULTIPART.parse_multipart_file/4. This issue affects plug: from 1.4.0-rc.0 before 1.16.6, from 1.17.0 before 1.17.4, from 1.18.0 before 1.18.5, from 1.19.1 before 1.19.5, and from 1.20.0 before 1.20.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

