axios

Ecosystem: npm

Downloads: 486.05 Mln

Vulnerabilities from the last (months)
  • 0CriticalAffects 0 versions
  • 27HighAffects 40 versions
  • 0MediumAffects 0 versions
  • 37ModerateAffects 54 versions
  • 2LowAffects 3 versions
Severity distribution (all time)
66vulnerabilities
  • Critical0 (0.0%)
  • High27 (40.9%)
  • Medium0 (0.0%)
  • Moderate37 (56.1%)
  • Low2 (3.0%)

Monthly breakdown

  • Critical
  • High
  • Medium
  • Moderate
  • Low
  • 12 vulnerabilities
    • Critical: 0
    • High: 7
    • Medium: 0
    • Moderate: 5
    • Low: 0
  • 10 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 9
    • Low: 0
  • 10 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 9
    • Low: 0
  • 4 vulnerabilities
    • Critical: 0
    • High: 4
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 18 vulnerabilities
    • Critical: 0
    • High: 7
    • Medium: 0
    • Moderate: 9
    • Low: 2
  • 3 vulnerabilities
    • Critical: 0
    • High: 0
    • Medium: 0
    • Moderate: 3
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 0
    • Medium: 0
    • Moderate: 1
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 0
    • Medium: 0
    • Moderate: 1
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0

Vulnerabilities (66)

Known vulnerabilities affecting axios, based on data from OSV.

Vulnerabilities affecting axios
IDSeveritySummaryAffected versionsPublishedSource
GHSA-3pq3-5fj3-cg6vHighAxios: HTTP/2 adapter bypasses configured DNS lookup and proxy controls## Summary Axios for Node.js does not apply configured DNS lookup or proxy controls when a request uses `httpVersion: 2`. The HTTP/1 adapter path wraps and forwards `config.lookup`, builds normal request options, and applies proxy routing through `setProxy()`. The HTTP/2 path builds a session with `http2.connect()` using only `options.http2Options`, which drops the top-level `lookup`, `agent`, and proxy state. Applications are affected when they allow a user to influence request destinations, enable axios HTTP/2, and rely on axios `lookup` or proxy routing to prevent SSRF or enforce outbound
  • >= 1.13.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-44g4-m2mj-wpvxModerateAxios: CIDR-form NO_PROXY entries are ignored, causing proxy exclusion bypass for internal IP ranges## Summary Axios supports proxy environment variables and evaluates `NO_PROXY` exclusions in the Node.js adapter. CIDR-form `NO_PROXY` entries such as `127.0.0.0/8`, `10.0.0.0/8`, or `169.254.169.254/32` are not interpreted as IP ranges. As a result, a request to an IP address inside a configured CIDR exclusion can still be sent through the configured proxy. This affects deployments that rely on CIDR notation to keep loopback, private, Kubernetes, CI, or cloud metadata traffic away from proxy infrastructure. ## Impact If the configured proxy is outside the intended trust boundary, requests
  • >= 1.15.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-4hqw-qxg8-jxx2ModerateAxios: Fetch Adapter Header Injection via Inherited FormData getHeaders## Summary Axios contains a guard in the Node HTTP adapter to avoid using an inherited `Object.prototype.getHeaders` as a FormData header source. The fetch adapter calls the shared `resolveConfig()` helper before dispatch, and that helper lacks the same guard. If another vulnerability pollutes `Object.prototype` with FormData-like properties and `getHeaders()`, the fetch adapter can merge attacker-controlled headers into the outbound request. Axios does not create the prototype pollution source. This is a read-side gadget in the fetch adapter configuration path. ## Impact An attacker with
  • >= 1.12.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-542g-h47m-68v8HighAxios: Denial of Service via Unhandled 'error' Event in HTTP/2 ClientHttp2Session Initialization## Summary Axios versions with Node.js HTTP/2 support can terminate the caller’s process when a ClientHttp2Session emits an error event that is not handled by axios. This affects applications that use the Node HTTP adapter with httpVersion: 2. A malicious, unavailable, or non-HTTP/2 endpoint can cause an uncaught exception instead of a normal rejected axios request. ## Impact The impact is denial of service. In affected applications, an attacker who can influence the request destination, or operate the destination server, may be able to crash the Node.js process. This does not affect defa
  • >= 1.13.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-9fr6-4gfg-395gModerateAxios: Prototype-Pollution Gadget in the Default Instance Allows Inherited Object.prototype.method to Override HTTP Method## Summary Axios default-instance requests that omit an explicit method can read an inherited `method` value from `Object.prototype`. If another vulnerability in the same process pollutes `Object.prototype.method`, calls such as `axios.request({ url })` and `axios({ url })` can send a state-changing HTTP method instead of the expected default `GET`. Axios does not create the prototype pollution source. This is a read-side gadget in axios request dispatch. ## Impact In an affected application with a separate prototype-pollution primitive, an attacker can change axios default-instance reques
  • >= 0.27.2, < 0.34.0
  • >= 1.0.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-c29m-xwm3-cm6rHighAxios: ReDoS in fromDataURI data: URL parser freezes the Node event loop (DoS)## Summary Axios for Node.js parses `data:` URLs in `lib/helpers/fromDataURI.js`. The current RFC-2397 parser uses a regular expression whose media type groups allow `/` inside both sides of the `type/subtype` match. A malformed `data:` URL containing many slashes and no comma forces the JavaScript regex engine to try many possible placements for the separator before failing. Applications are affected when they pass untrusted URL strings to axios and do not reject or constrain `data:` URLs before axios parses them. ## Impact An attacker can make the Node.js event loop spend significant syn
  • >= 1.16.1, < 1.20.0
GitHub (opens in a new tab)
GHSA-j8rh-479h-cp32ModerateAxios: Header Injection via Inherited headers After Minimal Interceptor## Summary Axios request interceptors may return a replacement config object. If an interceptor returns a plain object without an own `headers` property, `dispatchRequest()` later evaluates `config.headers` and can resolve an inherited `Object.prototype.headers` value. In a process where another vulnerability has polluted `Object.prototype.headers`, axios can send attacker-controlled headers. Axios does not create the prototype pollution source, and the interceptor itself is trusted caller code. The vulnerable behavior is the post-interceptor axios config read that reopens a prototype-pollut
  • >= 1.0.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-m8m8-qj5v-23w3HighAxios: Node HTTP adapter prototype-pollution gadget allows request socket hijack via inherited createConnection## Summary Axios' Node HTTP adapter can act as a read-side prototype-pollution gadget for Node's sensitive `createConnection` request option. The adapter creates a null-prototype options object, but Node's HTTP client can copy or normalize request options into ordinary objects before connection creation. If `Object.prototype.createConnection` has been polluted elsewhere in the same process, Node can call the inherited function and create a socket to an attacker-controlled endpoint. Axios does not create the prototype pollution source. The vulnerability is that axios does not set an own safe
  • >= 1.15.2, < 1.20.0
GitHub (opens in a new tab)
GHSA-mghh-pgcx-3jjjHighAxios: ReDoS (O(N²)) in shouldBypassProxy host normalization, reachable via untrusted redirect Location## Summary Axios `shouldBypassProxy()` normalizes hostnames with `hostname.replace(/\.+$/, '')`. For a hostname shaped as many dots followed by a non-dot, the anchored regex can perform quadratic backtracking. Because axios re-evaluates proxy bypass rules for redirected requests, a malicious server can trigger this synchronous work through a crafted redirect `Location`. The issue affects Node.js applications that use environment proxy variables with `NO_PROXY` and allow redirects. ## Impact An attacker-controlled server can return a redirect whose hostname causes the axios process to spend
  • >= 1.15.0, < 1.20.0
GitHub (opens in a new tab)
GHSA-r4gj-5m52-g5whHighAxios: maxRedirects: 0 is not enforced by the fetch adapter, allowing redirect-based SSRF## Summary Axios exposes `maxRedirects` to limit redirect following, and `maxRedirects: 0` is used by applications as a redirect-based SSRF guard. The Node HTTP adapter enforces this option. The fetch adapter does not read it and does not set a Fetch API `redirect` mode, so the runtime default of `redirect: 'follow'` applies. Applications are affected when they rely on `maxRedirects: 0` and use the fetch adapter, either explicitly or because the runtime selects it. ## Impact An attacker who controls the initial URL or a redirecting server can cause a fetch-adapter request to follow a redir
  • >= 1.17.0, < 1.20.0
GitHub (opens in a new tab)
  • GHSA-3pq3-5fj3-cg6vHigh
    Axios: HTTP/2 adapter bypasses configured DNS lookup and proxy controls
    • >= 1.13.0, < 1.20.0

    ## Summary Axios for Node.js does not apply configured DNS lookup or proxy controls when a request uses `httpVersion: 2`. The HTTP/1 adapter path wraps and forwards `config.lookup`, builds normal request options, and applies proxy routing through `setProxy()`. The HTTP/2 path builds a session with `http2.connect()` using only `options.http2Options`, which drops the top-level `lookup`, `agent`, and proxy state. Applications are affected when they allow a user to influence request destinations, enable axios HTTP/2, and rely on axios `lookup` or proxy routing to prevent SSRF or enforce outbound

    CVE: CVE-2026-101898

  • GHSA-44g4-m2mj-wpvxModerate
    Axios: CIDR-form NO_PROXY entries are ignored, causing proxy exclusion bypass for internal IP ranges
    • >= 1.15.0, < 1.20.0

    ## Summary Axios supports proxy environment variables and evaluates `NO_PROXY` exclusions in the Node.js adapter. CIDR-form `NO_PROXY` entries such as `127.0.0.0/8`, `10.0.0.0/8`, or `169.254.169.254/32` are not interpreted as IP ranges. As a result, a request to an IP address inside a configured CIDR exclusion can still be sent through the configured proxy. This affects deployments that rely on CIDR notation to keep loopback, private, Kubernetes, CI, or cloud metadata traffic away from proxy infrastructure. ## Impact If the configured proxy is outside the intended trust boundary, requests

    CVE: CVE-2026-101899

  • GHSA-4hqw-qxg8-jxx2Moderate
    Axios: Fetch Adapter Header Injection via Inherited FormData getHeaders
    • >= 1.12.0, < 1.20.0

    ## Summary Axios contains a guard in the Node HTTP adapter to avoid using an inherited `Object.prototype.getHeaders` as a FormData header source. The fetch adapter calls the shared `resolveConfig()` helper before dispatch, and that helper lacks the same guard. If another vulnerability pollutes `Object.prototype` with FormData-like properties and `getHeaders()`, the fetch adapter can merge attacker-controlled headers into the outbound request. Axios does not create the prototype pollution source. This is a read-side gadget in the fetch adapter configuration path. ## Impact An attacker with

    CVE: CVE-2026-101900

  • GHSA-542g-h47m-68v8High
    Axios: Denial of Service via Unhandled 'error' Event in HTTP/2 ClientHttp2Session Initialization
    • >= 1.13.0, < 1.20.0

    ## Summary Axios versions with Node.js HTTP/2 support can terminate the caller’s process when a ClientHttp2Session emits an error event that is not handled by axios. This affects applications that use the Node HTTP adapter with httpVersion: 2. A malicious, unavailable, or non-HTTP/2 endpoint can cause an uncaught exception instead of a normal rejected axios request. ## Impact The impact is denial of service. In affected applications, an attacker who can influence the request destination, or operate the destination server, may be able to crash the Node.js process. This does not affect defa

    CVE: CVE-2026-101901

  • GHSA-9fr6-4gfg-395gModerate
    Axios: Prototype-Pollution Gadget in the Default Instance Allows Inherited Object.prototype.method to Override HTTP Method
    • >= 0.27.2, < 0.34.0
    • >= 1.0.0, < 1.20.0

    ## Summary Axios default-instance requests that omit an explicit method can read an inherited `method` value from `Object.prototype`. If another vulnerability in the same process pollutes `Object.prototype.method`, calls such as `axios.request({ url })` and `axios({ url })` can send a state-changing HTTP method instead of the expected default `GET`. Axios does not create the prototype pollution source. This is a read-side gadget in axios request dispatch. ## Impact In an affected application with a separate prototype-pollution primitive, an attacker can change axios default-instance reques

    CVE: CVE-2026-101902

  • GHSA-c29m-xwm3-cm6rHigh
    Axios: ReDoS in fromDataURI data: URL parser freezes the Node event loop (DoS)
    • >= 1.16.1, < 1.20.0

    ## Summary Axios for Node.js parses `data:` URLs in `lib/helpers/fromDataURI.js`. The current RFC-2397 parser uses a regular expression whose media type groups allow `/` inside both sides of the `type/subtype` match. A malformed `data:` URL containing many slashes and no comma forces the JavaScript regex engine to try many possible placements for the separator before failing. Applications are affected when they pass untrusted URL strings to axios and do not reject or constrain `data:` URLs before axios parses them. ## Impact An attacker can make the Node.js event loop spend significant syn

    CVE: CVE-2026-101903

  • GHSA-j8rh-479h-cp32Moderate
    Axios: Header Injection via Inherited headers After Minimal Interceptor
    • >= 1.0.0, < 1.20.0

    ## Summary Axios request interceptors may return a replacement config object. If an interceptor returns a plain object without an own `headers` property, `dispatchRequest()` later evaluates `config.headers` and can resolve an inherited `Object.prototype.headers` value. In a process where another vulnerability has polluted `Object.prototype.headers`, axios can send attacker-controlled headers. Axios does not create the prototype pollution source, and the interceptor itself is trusted caller code. The vulnerable behavior is the post-interceptor axios config read that reopens a prototype-pollut

    CVE: CVE-2026-101904

  • GHSA-m8m8-qj5v-23w3High
    Axios: Node HTTP adapter prototype-pollution gadget allows request socket hijack via inherited createConnection
    • >= 1.15.2, < 1.20.0

    ## Summary Axios' Node HTTP adapter can act as a read-side prototype-pollution gadget for Node's sensitive `createConnection` request option. The adapter creates a null-prototype options object, but Node's HTTP client can copy or normalize request options into ordinary objects before connection creation. If `Object.prototype.createConnection` has been polluted elsewhere in the same process, Node can call the inherited function and create a socket to an attacker-controlled endpoint. Axios does not create the prototype pollution source. The vulnerability is that axios does not set an own safe

    CVE: CVE-2026-101905

  • GHSA-mghh-pgcx-3jjjHigh
    Axios: ReDoS (O(N²)) in shouldBypassProxy host normalization, reachable via untrusted redirect Location
    • >= 1.15.0, < 1.20.0

    ## Summary Axios `shouldBypassProxy()` normalizes hostnames with `hostname.replace(/\.+$/, '')`. For a hostname shaped as many dots followed by a non-dot, the anchored regex can perform quadratic backtracking. Because axios re-evaluates proxy bypass rules for redirected requests, a malicious server can trigger this synchronous work through a crafted redirect `Location`. The issue affects Node.js applications that use environment proxy variables with `NO_PROXY` and allow redirects. ## Impact An attacker-controlled server can return a redirect whose hostname causes the axios process to spend

    CVE: CVE-2026-101906

  • GHSA-r4gj-5m52-g5whHigh
    Axios: maxRedirects: 0 is not enforced by the fetch adapter, allowing redirect-based SSRF
    • >= 1.17.0, < 1.20.0

    ## Summary Axios exposes `maxRedirects` to limit redirect following, and `maxRedirects: 0` is used by applications as a redirect-based SSRF guard. The Node HTTP adapter enforces this option. The fetch adapter does not read it and does not set a Fetch API `redirect` mode, so the runtime default of `redirect: 'follow'` applies. Applications are affected when they rely on `maxRedirects: 0` and use the fetch adapter, either explicitly or because the runtime selects it. ## Impact An attacker who controls the initial URL or a redirecting server can cause a fetch-adapter request to follow a redir

    CVE: CVE-2026-101907

Showing 1-10 of 66 vulnerabilities