Podatności Axios
35 znanych podatności CVE w Axios, przetłumaczonych i ocenionych.
- 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-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.
- 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-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-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.
- 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().
- 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-67321Średnie
W bibliotece axios w wersjach 0.31.1 przed 0.33.0 oraz 1.15.1 przed 1.18.0 występuje niekompletne obejście ograniczenia głębokości w pliku toFormData.js. Atakujący kontrolujący klucze obiektów i zagnieżdżone wartości przekazywane do serializacji formularza lub parametrów może wywołać błąd RangeError z JSON.stringify, powodując odmowę usługi w ścieżce żądania.
- CVE-2026-67320Wysokie
axios w środowisku Node.js używające adaptera HTTP może kierować żądania przez proxy kontrolowane przez atakującego. axios zabezpiecza scaloną konfigurację żądania, tworząc obiekt z prototypem null, ale interceptory żądań działają po scaleniu; popularny wzorzec niezmiennego interceptora, taki jak {...config} lub Object.assign({}, config), konwertuje zabezpieczoną konfigurację z powrotem na zwykły obiekt. axios następnie wysyła ten obiekt bez ponownego zabezpieczania, a adapter HTTP Node odczytuje config.proxy przez łańcuch prototypów. Jeśli atakujący może zanieczyścić Object.prototype.proxy, dotknięte żądania mogą być kierowane przez proxy kontrolowane przez atakującego. W przypadku zwykłych żądań HTTP proxy może obserwować nagłówki Authorization, Basic auth z config.auth, metodę, bezwzględny URL, Host i treść żądania oraz może zwrócić własną odpowiedź. Dotyczy wersji >=0.31.1 (naprawione w 0.33.0) i >=1.15.2 (naprawione w 1.18.0).
- CVE-2026-67319Średnie
Axios przed wersją 0.33.0 (oraz 1.x przed 1.18.0) może konsumować dziedziczone właściwości z zagnieżdżonych obiektów opcji żądania, gdy Object.prototype procesu JavaScript został już zanieczyszczony przez inny komponent. Mimo że scalona konfiguracja najwyższego poziomu używa prototypu null, zagnieżdżone obiekty, takie jak auth i paramsSerializer, są klonowane do zwykłych obiektów i odczytywane bez sprawdzania własności. Gdy aplikacja przekazuje zagnieżdżone obiekty zastępcze, takie jak auth: {} lub paramsSerializer: {}, dziedziczone wartości nazwy użytkownika/hasła mogą spowodować ciche wstrzyknięcie nagłówka Authorization: Basic, a dziedziczone wartości encode/serialize mogą zmienić serializację łańcucha zapytania (pełna zamiana serializatora wymaga prymitywu zanieczyszczenia funkcją). Jest to możliwe do wykorzystania tylko w obecności istniejącego zanieczyszczenia prototypu.
- CVE-2026-67318Średnie
Axios w wersjach >=1.13.0 (adapter HTTP Node.js) nie egzekwuje skonfigurowanego limitu maxBodyLength dla strumieniowych ciał żądań, gdy żądania są wysyłane z httpVersion: 2. Ponieważ API żądań HTTP/2 Node.js nie honoruje opcji maxBodyLength, a opakowanie strumienia zliczającego bajty w axios jest uzależnione od maxRedirects === 0, atakujący kontrolujący strumień przekazany do axios może spowodować, że aplikacja wyśle dane wyjściowe przekraczające skonfigurowany skończony maxBodyLength. Wpływ jest ograniczony do zużycia zasobów i obejścia polityki (nadmierny egress, zużycie limitów upstream, ograniczona dostępność); nie umożliwia wykonania kodu, ujawnienia danych uwierzytelniających ani kontroli miejsca docelowego żądania. Wywołania z domyślnym maxBodyLength: -1 i adaptery przeglądarkowe nie są dotknięte.
- CVE-2026-67317Średnie
Axios w wersjach 1.7.0 przed 1.18.0 nie egzekwuje limitu maxBodyLength dla ciał żądań typu WHATWG ReadableStream w adapterze fetch, gdy nie można określić Content-Length. Atakujący mogą dostarczyć dane strumieniowe o nieznanej długości, aby ominąć limity rozmiaru przesyłania i spowodować niekontrolowany egress sieciowy lub wyczerpanie zasobów.
- CVE-2026-67316Średnie
Axios jest podatny na gadżety zanieczyszczenia prototypu po stronie odczytu, które mogą zmienić konstrukcję żądania, gdy Object.prototype został już zanieczyszczony przez oddzielną podatność lub zależność. W aliasach metod bez ciała (axios.get(), axios.delete(), axios.head(), axios.options()), dziedziczone dane są odczytywane przez (config || {}).data przed normalizacją konfiguracji, co powoduje wysłanie kontrolowanego przez atakującego ciała w żądaniach, które go nie ustawiły. Dodatkowe ścieżki niskiego poziomu, osiągalne tylko przy bezpośrednim wywoływaniu eksportowanych adapterów/pomocników (np. lib/adapters/http.js, unsafe/helpers/resolveConfig.js) z czystymi konfiguracjami i bez własnego proxy lub paramsSerializer, mogą dziedziczyć zanieczyszczone wartości proxy (kierowanie żądań przez proxy kontrolowane przez atakującego) lub wartości paramsSerializer (kontrolowana przez atakującego serializacja URL). Te gadżety niskiego poziomu nie reprodukują się przez normalne wywołania axios wysokiego poziomu w wersji 1.15.2+. Problem jest naprawiony w axios 1.18.0 i 0.33.0.
- CVE-2026-67315Średnie
W bibliotece axios w wersjach 0.31.0 przed 0.33.0 oraz 1.15.0 przed 1.18.0 adres 0.0.0.0 nie jest rozpoznawany jako adres pętli zwrotnej w pliku shouldBypassProxy.js. Atakujący może użyć adresu URL 0.0.0.0, aby kierować żądania przez skonfigurowane proxy, potencjalnie ujawniając lokalne usługi, gdy proxy może osiągnąć cel.
- CVE-2026-67314Średnie
Biblioteka axios w wersjach od 1.15.2 do 1.17.9 zawiera gadżety odczytu zanieczyszczenia prototypu w obsłudze pól uwierzytelniania Basic. Jeśli aplikacja jest już podatna na zanieczyszczenie prototypu i wykonuje żądanie axios z własnym obiektem auth pomijającym właściwości username i/lub password, axios odczytuje odziedziczone wartości z Object.prototype i używa ich do konstruowania nagłówka Authorization. Sam axios nie zanieczyszcza prototypów.
- CVE-2026-67313Średnie
Biblioteka axios w wersjach 0.28.0 i nowszych zawiera niekontrolowaną rekurencję w funkcji formDataToJSON podczas przetwarzania nazw pól FormData z głęboko zagnieżdżonymi segmentami w nawiasach. Atakujący może dostarczyć FormData z nazwami pól zawierającymi tysiące zagnieżdżonych nawiasów, co prowadzi do wyczerpania stosu JavaScript i błędu RangeError, powodując awarię żądania lub zakończenie procesu w aplikacjach bez obsługi wyjątków.
- CVE-2026-67312Średnie
Biblioteka axios w wersjach od 0.28.0 do 0.32.9 oraz od 1.0.0 do 1.17.9 zawiera niekontrolowaną rekurencję w funkcji formDataToJSON (udostępnianej jako axios.formToJSON() i używanej wewnętrznie przy serializacji FormData z Content-Type: application/json). Przekazanie kontrolowanych przez atakującego nazw pól FormData z tysiącami segmentów w nawiasach powoduje nieograniczoną rekurencję w buildPath(), wyczerpując stos JavaScript i powodując błąd RangeError, co prowadzi do odmowy usługi.
- CVE-2026-44496Wysokie
Podatność w Axios (wersje przed 0.32.0 na linii 0.x i przed 1.16.0 na linii 1.x) polega na braku escapowania metaznaków regex w nazwie ciasteczka XSRF. Atakujący, który może wpłynąć na nazwę ciasteczka przekazywaną do Axios, może spowodować kosztowne cofanie się regex podczas odczytu document.cookie, co prowadzi do degradacji dostępności po stronie klienta (np. zawieszenie karty przeglądarki).
- CVE-2026-44495Wysokie
Podatność w bibliotece Axios (HTTP client dla przeglądarki i Node.js). W wersjach od 0.19.0 do 0.31.1 i 1.15.2, Axios zawiera gadżety zanieczyszczające prototyp w przetwarzaniu konfiguracji żądań. Jeśli inna podatność już zanieczyściła Object.prototype.transformResponse, Axios może traktować tę wartość jako konfigurację żądania.
- CVE-2026-44494Wysokie
Biblioteka Axios w wersjach od 1.0.0 do przed 1.16.0 jest podatna na atak typu Prototype Pollution Gadget. Atakujący może wykorzystać zanieczyszczenie prototypu Object.prototype w aplikacji do przeprowadzenia ataku Man-in-the-Middle (MITM), przechwytując i modyfikując cały ruch HTTP, w tym dane uwierzytelniające.
- CVE-2026-44492Wysokie
W Axios przed wersjami 0.32.0 i 1.16.0 występuje podatność polegająca na braku normalizacji adresów IPv4 zamapowanych na IPv6. Gdy zmienna NO_PROXY zawiera adres IPv4 (np. 127.0.0.1), żądanie używające formy IPv4-mapped IPv6 (np. ::ffff:7f00:1) nadal jest kierowane przez skonfigurowany proxy, zamiast być blokowane. Node.js rozwiązuje te adresy do bazowego hosta IPv4, więc żądanie dociera do wewnętrznej usługi przez proxy.
- CVE-2026-44490Średnie
Axios, klient HTTP oparty na obietnicach, przed wersjami 0.32.0 i 1.16.0, narażony był na ataki związane z zanieczyszczeniem prototypów. W wyniku tego, zanieczyszczone wartości mogły być cicho przechwytywane i wykorzystywane w nagłówkach żądań.
- CVE-2026-44489Niskie
Podatność w Axios, kliencie HTTP, pozwala na wstrzyknięcie złośliwych danych do nagłówka Proxy-Authorization w przypadku, gdy obiekt proxy jest zanieczyszczony. Problem występuje w wersjach od 1.15.2 do przed 1.16.0, gdzie funkcja setProxy() nie sprawdza właściwości obiektów.
- CVE-2026-44488Wysokie
Axios w wersjach 1.7.0 do 1.15.x nie egzekwuje skonfigurowanych limitów rozmiaru żądania i odpowiedzi przy użyciu adaptera fetch. Może to prowadzić do wyczerpania zasobów serwera.
- CVE-2026-44487Wysokie
W Axios, kliencie HTTP dla przeglądarki i Node.js, przed wersjami 0.32.0 i 1.16.0, adapter HTTP Node.js może przekazywać nagłówek Proxy-Authorization do przekierowanego źródła w określonych scenariuszach proxy-do-bezpośredniego. Dotyczy to użycia Node.js, gdzie początkowy wniosek jest wysyłany przez uwierzytelnione proxy HTTP, a następnie następuje przekierowanie do adresu URL, który nie jest już proxy. W rezultacie docelowe źródło może otrzymać dane uwierzytelniające proxy.
- CVE-2026-44486Wysokie
Axios, klient HTTP dla Node.js, może wyciekać dane uwierzytelniające proxy do celu przekierowania. Gdy żądanie jest wysyłane przez uwierzytelnione proxy, dodawany jest nagłówek Proxy-Authorization, który pozostaje po przekierowaniu, nawet jeśli nowe żądanie nie przechodzi już przez to proxy.
- CVE-2026-42264Wysokie
W bibliotece Axios w wersjach od 1.0.0 do 1.15.1 pięć właściwości konfiguracyjnych (auth, baseURL, socketPath, beforeRedirect, insecureHTTPParser) w adapterze HTTP jest odczytywanych bez sprawdzania hasOwnProperty, co umożliwia ich wykorzystanie jako gadżety do zanieczyszczania prototypu. Gdy inna zależność w tym samym procesie zanieczyści Object.prototype, Axios niejawnie przejmuje te zanieczyszczone wartości przy każdym wychodzącym żądaniu HTTP.
- CVE-2026-42044Średnie
Axios w wersjach od 1.0.0 do 1.15.1 jest podatny na atak Prototype Pollution Gadget, który pozwala na modyfikację odpowiedzi JSON API, w tym eskalację uprawnień i manipulację danymi.
- CVE-2026-42043Wysokie
Podatność w bibliotece Axios umożliwia atakującemu wpływającemu na docelowy URL żądania całkowite ominięcie ochrony NO_PROXY przy użyciu dowolnego adresu z zakresu 127.0.0.0/8 (innego niż 127.0.0.1). Jest to niekompletna poprawka dla CVE-2025-62718.
- CVE-2026-42041Średnie
Podatność w Axios przed wersjami 1.15.1 i 0.31.1 umożliwia atak typu Prototype Pollution, który powoduje, że wszystkie odpowiedzi HTTP (w tym błędy 401, 403, 500) są traktowane jako sukces. Ominięta zostaje autoryzacja i obsługa błędów na poziomie aplikacji.
- CVE-2026-42039Wysokie
Podatność w bibliotece Axios przed wersjami 1.15.1 i 0.31.1 powoduje awarię procesu Node.js z błędem RangeError podczas przetwarzania głęboko zagnieżdżonych obiektów w funkcji toFormData. Brak limitu głębokości rekurencji umożliwia atakującemu doprowadzenie do odmowy usługi (DoS) poprzez wysłanie specjalnie spreparowanych danych.
- CVE-2026-42033Wysokie
Podatność w bibliotece Axios (wersje przed 1.15.1 i 0.31.1) umożliwia atakującemu przechwycenie i modyfikację odpowiedzi JSON lub całkowite przejęcie transportu HTTP, jeśli wcześniej doszło do skażenia Object.prototype przez inną zależność. Warunkiem jest obecność innej podatności na skażenie prototypu w tym samym procesie.
- CVE-2026-40175Średnie
Podatność w bibliotece Axios przed wersjami 1.15.0 i 0.3.1 umożliwia atak typu gadget-style, w którym zanieczyszczenie prototypu w zależności innej firmy może być wykorzystane do wstrzyknięcia niesanitowanych wartości nagłówków do wychodzących żądań HTTP.
- CVE-2026-39865Średnie
Podatność w Axios od wersji 1.13.0 do 1.13.1. Logika czyszczenia sesji HTTP/2 zawiera błąd stanu, który pozwala złośliwemu serwerowi na crash klienta poprzez równoczesne zamykanie sesji.
- CVE-2026-25639Wysokie
Funkcja mergeConfig w bibliotece Axios ulega awarii z błędem TypeError podczas przetwarzania obiektów konfiguracyjnych zawierających __proto__ jako własną właściwość. Atakujący może wywołać całkowitą odmowę usługi (DoS) poprzez dostarczenie złośliwego obiektu konfiguracyjnego utworzonego za pomocą JSON.parse().

