CVE-2025-58754
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 66 - wyżej niż 66% wszystkich znanych CVE
Streszczenie
Axios w wersji od 0.28.0 do 0.30.2 i 1.12.0, działający na Node.js, przy podaniu URL ze schematem `data:` nie wykonuje żądania HTTP, lecz dekoduje cały ładunek do pamięci (Buffer/Blob) i zwraca syntetyczną odpowiedź 200. Ścieżka ta ignoruje limity `maxContentLength`/`maxBodyLength`, więc atakujący może dostarczyć bardzo duży URI `data:` i spowodować nieograniczoną alokację pamięci oraz awarię (DoS), nawet przy `responseType: 'stream'`. Poprawka w wersjach 0.30.2 i 1.12.0.
Ocena ryzyka
Atakujący może wywołać atak typu denial-of-service, powodując awarię procesu Node.js poprzez wyczerpanie pamięci, co prowadzi do niedostępności usługi.
Rekomendacja
Zaktualizuj Axios do wersji 0.30.2, 1.12.0 lub nowszej. Unikaj przetwarzania niezaufanych adresów URL ze schematem `data:`.
Inne podatności w Axios
Zobacz wszystkie- CVE-2025-27152Wysokie
Podatność w bibliotece axios pozwala na wysyłanie żądań do absolutnych URL-i zamiast względnych, co może prowadzić do ataków SSRF i wycieku poświadczeń. Nawet przy ustawionym baseURL, axios ignoruje to i wysyła żądanie do podanego absolutnego adresu URL.
- GHSA-42h9-826w-cgv3Średnie
Axios w wersjach 0.28.0 i późniejszych zawiera niekontrolowaną rekurencję w formDataToJSON, pomocniku stojącym za publicznym API axios.formToJSON() / nazwanym formToJSON oraz domyślnym przekształceniu żądania używanym, gdy FormData jest wysyłane z typem treści application/json.
- GHSA-mmx7-hfxf-jppxŚrednie
Axios jest podatny na gadżety zanieczyszczenia prototypu po stronie odczytu, gdy Object.prototype został już zanieczyszczony przez inną podatność lub zależność. Najbardziej dostępny problem dotyczy aliasów metod bez ciała: axios.get(), axios.delete(), axios.head() i axios.options().
- GHSA-7q8q-rj6j-mhjqŚrednie
Axios może konsumować dziedziczone właściwości z zagnieżdżonych obiektów opcji żądania, gdy proces JavaScript ma już zanieczyszczony Object.prototype. Główna połączona konfiguracja jest chroniona prototypem null, ale zagnieżdżone zwykłe obiekty, takie jak auth i paramsSerializer, są klonowane do obiektów z prototypem.
- CVE-2023-45857Średnie
W Axios 1.5.1 wykryto problem, który nieumyślnie ujawnia poufny token XSRF-TOKEN przechowywany w ciasteczkach. Token ten jest dołączany do nagłówka HTTP X-XSRF-TOKEN w każdym żądaniu wysyłanym do dowolnego hosta, co pozwala atakującym na podejrzenie wrażliwych informacji.
- GHSA-pmv8-rq9r-6j72Średnie
Axios w wersjach od 0.28.0 zawiera niekontrolowaną rekurencję w formDataToJSON, która jest udostępniana jako axios.formToJSON() i używana wewnętrznie, gdy axios serializuje FormData z Content-Type: application/json. Jeśli aplikacja przekaże kontrolowane przez atakującego nazwy pól FormData, może to prowadzić do wyczerpania stosu.
- CVE-2025-62718Krytyczne
Podatność w bibliotece Axios przed wersjami 1.15.0 i 0.31.0 nieprawidłowo normalizuje nazwy hostów podczas sprawdzania reguł NO_PROXY. Żądania do adresów pętli zwrotnej, takich jak localhost. (z kropką na końcu) lub [::1] (adres IPv6), omijają dopasowanie NO_PROXY i są kierowane przez skonfigurowany serwer proxy.
- CVE-2026-101899Średnie
Klient HTTP Axios w wersjach od 1.15.0 do 1.20.0 błędnie interpretuje zapis CIDR w zmiennej NO_PROXY jako tekstowy sufiks hosta zamiast zakresu sieci. Żądanie do adresu objętego regułą CIDR w NO_PROXY nie jest dopasowane i zostaje wysłane przez skonfigurowane proxy. Dla HTTP proxy może obserwować i modyfikować URL, nagłówki i treść, a dla HTTPS metadane połączenia i żądania CONNECT.
- CVE-2026-101909Wysokie
Axios od wersji 0.28.0 do 0.34.0 oraz od 1.15.1 do 1.20.0 przetwarza dziedziczone opcje serializacji i właściwości odwiedzającego dostarczane przez zanieczyszczenie prototypu. Osobna wada zanieczyszczenia prototypu w tym samym procesie dostarcza dziedziczone wartości dots, indexes, metaTokens, maxDepth, visitor lub Blob przed serializacją obiektów. Dziedziczone opcje zmieniają nazewnictwo pól i interpretację danych, maxDepth może wymusić błąd żądania, Blob zmienia obsługę wartości, a zanieczyszczony visitor może wykonać kod, gdy atakujący ma już silniejszą zdolność wstrzyknięcia funkcji.
- CVE-2026-101908Średnie
W Axios od wersji 1.7.0 do 1.20.0 adapter fetch konstruuje Request z oczyszczonymi resolvedOptions, ale następnie wywołuje fetch z oryginalnymi fetchOptions. Osobna wada zanieczyszczenia prototypu w tym samym procesie wypełnia Object.prototype.headers, więc fetchOptions.headers rozwiązuje się przez dziedziczenie. Odziedziczona wartość fetchOptions.headers nadpisuje oczyszczone nagłówki Request przez drugi argument do fetch po konstrukcji Request. Nagłówki kontrolowane przez atakującego mogą zmienić autoryzację, buforowanie, dostęp do usług metadanych lub zachowanie specyficzne dla aplikacji.
Oryginalny opis (angielski, źródło NVD)
Axios is a promise based HTTP client for the browser and Node.js. When Axios starting in version 0.28.0 and prior to versions 0.30.2 and 1.12.0 runs on Node.js and is given a URL with the `data:` scheme, it does not perform HTTP. Instead, its Node http adapter decodes the entire payload into memory (`Buffer`/`Blob`) and returns a synthetic 200 response. This path ignores `maxContentLength` / `maxBodyLength` (which only protect HTTP responses), so an attacker can supply a very large `data:` URI and cause the process to allocate unbounded memory and crash (DoS), even if the caller requested `responseType: 'stream'`. Versions 0.30.2 and 1.12.0 contain a patch for the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

