CVE-2026-77078
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
multer to oprogramowanie pośredniczące do obsługi multipart/form-data w Node.js. Małe żądanie multipart zawierające dwa specjalnie spreparowane nazwy pól tekstowych może spowodować nieprzechwycony błąd RangeError (Invalid array length), który kończy proces Node.js. Pierwsze pole używa bardzo dużego numerycznego indeksu tablicy, aby przydzielić tablicę rzadką o maksymalnej długości, a drugie pole następnie wypycha poza tę długość, co powoduje wyjątek w zależności append-field i nie jest przechwytywane przez multer. Wszystkie wersje przed 2.3.0 są dotknięte, a problem jest zdalnie wyzwalanym atakiem DoS. Problem jest naprawiony w multer 2.3.0. Zaktualizuj do multer 2.3.0, aby zaradzić.
Ocena ryzyka
Zdalny atakujący może wysłać specjalnie spreparowane żądanie multipart, powodując awarię procesu Node.js i przerwanie działania aplikacji (DoS).
Rekomendacja
Zaktualizuj multer do wersji 2.3.0 lub nowszej. Ogranicz dostęp do tras obsługujących przesyłanie plików i monitoruj ruch sieciowy.
Inne podatności w multer
Zobacz wszystkie- CVE-2026-82333Wysokie
Podatność w multer (middleware dla Node.js) przed wersją 2.3.0. Specjalnie spreparowane żądanie multipart z dwoma polami może zablokować pętlę zdarzeń, powodując odmowę usługi. Wersja 2.3.0 dodaje opcję fieldArrayIndexLimit, która odrzuca zbyt duże indeksy tablic.
- CVE-2026-77063Niskie
multer przed wersją 2.3.0 zawiera podatność na wyścig (race condition) w obsłudze strumienia plików, gdy używany jest asynchroniczny fileFilter wraz z limitem fileSize. Pozwala to na obejście odrzucenia pliku przekraczającego limit rozmiaru.
- CVE-2026-77037Wysokie
multer to oprogramowanie pośredniczące do obsługi multipart/form-data w Node.js. W wersji 2.2.0, gdy przesyłanie na dysk jest przerwane lub obcięte przed zakończeniem strumienia zapisu, silnik pamięci dyskowej multer usuwa widoczny plik, ale nie zamyka bazowego deskryptora pliku zapisu, pozostawiając usunięty, ale wciąż otwarty deskryptor. Zdalny atakujący mający dostęp do trasy przesyłania z wbudowanym magazynem dyskowym może wysyłać powtarzające się przerwane lub uszkodzone przesyłania multipart, każde z nich wycieka deskryptor pliku i zatrzymuje bloki dysku aż do zakończenia procesu, co może wyczerpać zasoby i spowodować DoS. Problem jest naprawiony w multer 2.3.0, który zamyka docelowy strumień zapisu przy nieprawidłowym zakończeniu źródła i opóźnia czyszczenie do zamknięcia strumienia. Zaktualizuj do multer 2.3.0, aby zaradzić.
- CVE-2026-5038Średnie
Wersje multer od 2.0.0-alpha.1 do 2.1.1 oraz 3.0.0-alpha.1 są podatne na atak typu Denial of Service przy użyciu diskStorage. Przerwane lub źle sformatowane przesyłki multipart pozostawiają osierocone częściowe pliki na dysku, co może prowadzić do wyczerpania przestrzeni dyskowej.
- CVE-2026-5079Wysokie
Wersje multer od 1.0.0 do 2.1.1 oraz 3.0.0-alpha.1 są podatne na atak typu Denial of Service poprzez głęboko zagnieżdżone nazwy pól w danych formularza multipart. Atakujący może wykorzystać to, aby zmusić system do alokacji głęboko zagnieżdżonych struktur obiektów, co prowadzi do zużycia CPU i pamięci.
- CVE-2026-3520Wysokie
Podatność w bibliotece Multer (node.js) przed wersją 2.1.1 umożliwia atakującemu wywołanie odmowy usługi (DoS) poprzez wysłanie złośliwych żądań, co może prowadzić do przepełnienia stosu.
- CVE-2026-3304Wysokie
Multer to oprogramowanie pośredniczące dla Node.js do obsługi danych wieloczęściowych. Podatność w wersjach przed 2.1.0 umożliwia atakującemu wywołanie odmowy usługi (DoS) poprzez wysyłanie nieprawidłowo sformułowanych żądań, co może prowadzić do wyczerpania zasobów.
- CVE-2026-2359Wysokie
Multer to middleware Node.js do obsługi `multipart/form-data`. Podatność w wersjach przed 2.1.0 umożliwia atakującemu wywołanie odmowy usługi (DoS) poprzez zerwanie połączenia podczas przesyłania pliku, co może prowadzić do wyczerpania zasobów.
Oryginalny opis (angielski, źródło NVD)
multer is a middleware for handling multipart/form-data in Node.js. A small multipart request containing two specially crafted text field names can cause an uncaught RangeError (Invalid array length) that terminates the Node.js process. The first field uses a very large numeric array index to allocate a maximum-length sparse array, and a second field then pushes past that length, which throws inside the append-field dependency and is not caught by multer. All versions before 2.3.0 are affected, and the issue is a remotely triggerable denial of service. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.

