Katalog CVE

CVE-2026-67316

ŚrednieCVSS 6.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.26%

Percentyl 17 - wyżej niż 17% wszystkich znanych CVE

Streszczenie

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.

Ocena ryzyka

Ryzyko polega na możliwości wysłania nieoczekiwanego ciała żądania lub przekierowania żądań przez kontrolowane przez atakującego proxy, co może prowadzić do wycieku danych lub manipulacji żądaniami, ale tylko w przypadku wcześniejszego zanieczyszczenia prototypu.

Rekomendacja

Zaleca się aktualizację biblioteki axios do wersji 1.18.0 lub 0.33.0 oraz zabezpieczenie aplikacji przed zanieczyszczeniem prototypu.

Inne podatności w axios

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

axios is vulnerable to read-side prototype-pollution gadgets that can alter request construction when Object.prototype has already been polluted by a separate vulnerability or dependency. In the bodyless method aliases (axios.get(), axios.delete(), axios.head(), axios.options()), inherited data is read via (config || {}).data before config normalization, causing an attacker-controlled body to be sent on requests that did not set one. Additional low-level paths, only reachable when calling exported adapters/helpers (e.g. lib/adapters/http.js, unsafe/helpers/resolveConfig.js) directly with plain configs and no own proxy or paramsSerializer, can inherit polluted proxy values (routing requests through an attacker-controlled proxy) or paramsSerializer values (attacker-controlled URL serialization). These low-level gadgets do not reproduce through normal high-level axios calls on 1.15.2+. The issue is fixed in axios 1.18.0 and 0.33.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS