CVE-2026-44490
Axios: DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
4.8
Axios: DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
- Record
CVE-2026-44490- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
EUVDEUVD-2026-36260
4.8
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
- Record
EUVD-2026-36260- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-898c-q2cr-xwhg
4.8
axios has DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions
Summary
axios 1.15.2 exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values:
- Header injection -
lib/utils.jsline 406 buildsmerge()'s accumulator asresult = {}, soresult[targetKey](line 414) walksObject.prototypeand the polluted bucket's own keys are copied into the merged headers and ride out on the wire. - Crash DoS -
lib/core/mergeConfig.jsline 26 builds thehasOwnPropertydescriptor as a plain-object literal.Object.definePropertyreadsdescriptor.get/descriptor.setvia the prototype chain, so a pollutedObject.prototype.getorObject.prototype.setmakes the call throwTypeErrorsynchronously on every axios request.
Affected Properties
| Polluted slot | Effect |
|---|---|
| Object.prototype.common | injects headers on every method |
| Object.prototype.delete / .head / .post / .put / .patch / .query | injects headers on the matching method |
| Object.prototype.get | every axios request throws TypeError: Getter must be a function from mergeConfig.js:26 |
| Object.prototype.set | every axios request throws TypeError: Setter must be a function from mergeConfig.js:26 |
Per-request headers (axios.request(url, { headers: {...} })) overwrite polluted entries. Polluting Object.prototype.get triggers the crash before any header is built.
Proof of Concept
const axios = require('axios');
// Finding A - header injection
Object.prototype.common = { 'X-Poisoned': 'yes' };
await axios.get('http://api.example.com/users');
// Wire request carries `X-Poisoned: yes`.
// Finding B - crash DoS
Object.prototype.get = { something: 'anything' };
await axios.get('http://api.example.com/users');
// TypeError: Getter must be a function: #<Object>
// at Function.defineProperty (<anonymous>)
// at mergeConfig (lib/core/mergeConfig.js:26:10)
Impact
- Server hang (
Content-Length: 99999): receiver waits for a body that never arrives. Affects requests with a body. - CL+TE conflict (
Transfer-Encoding: chunkedrides alongside axios's autoContent-Length): receiver rejects with400 Bad Request. Affects requests with a body. - Response suppression (
If-None-Match: *): receiver returns empty304 Not Modified. Affects GET / HEAD. - Crash DoS (
Object.prototype.get/.set): every axios request fails synchronously withTypeError, notAxiosError, so handlers filtering onerror.isAxiosErrormishandle the failure.
Attack Flow
flowchart TD
ROOT["Polluted Object.prototype<br/>via upstream gadget (e.g. lodash <= 4.17.10 _.merge / CVE-2018-16487)<br/>axios <= 1.15.2"]
ROOT --> CLASS_A["A. Arbitrary HTTP Header Injection<br/>Polluted defaults.headers slot rides along on every outbound axios request"]
ROOT --> CLASS_B["B. Crash DoS via Object.prototype.get / .set<br/>Polluted descriptor breaks Object.defineProperty in mergeConfig"]
CLASS_A --> PRE_A["Precondition: header not set per-request by the app<br/>Injected via defaults.headers slot<br/>(common, delete, head, post, put, patch, query)"]
PRE_A --> PA1["Response Suppression<br/>Trigger: common = {If-None-Match: *}<br/>Affects GET / HEAD"]
PA1 --> SA1["DoS<br/>304 Not Modified empty"]
PRE_A --> PA2["Server Hang<br/>Trigger: common = {Content-Length: 99999}<br/>Affects requests with body"]
PA2 --> SA2["DoS<br/>connection hang"]
PRE_A --> PA3["CL+TE Conflict<br/>Trigger: common = {Transfer-Encoding: chunked}<br/>Affects requests with body"]
PA3 --> SA3["DoS<br/>400 Bad Request"]
CLASS_B --> SB1["DoS<br/>TypeError: Getter / Setter must be a function<br/>Crashes every axios request, not only GET"]
%% Styles
style ROOT fill:#f87171,stroke:#991b1b,color:#fff
style CLASS_A…
- Record
GHSA-898c-q2cr-xwhg- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
NVD
4.8
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
- Record
CVE-2026-44490- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSV
4.8
Axios: DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
- Record
CVE-2026-44490- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-44490
8.2
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
- Record
DEBIAN-CVE-2026-44490- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
Show 23 moreShow less
OSVGHSA-898c-q2cr-xwhg
4.8
axios has DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions
Summary
axios 1.15.2 exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values:
- Header injection -
lib/utils.jsline 406 buildsmerge()'s accumulator asresult = {}, soresult[targetKey](line 414) walksObject.prototypeand the polluted bucket's own keys are copied into the merged headers and ride out on the wire. - Crash DoS -
lib/core/mergeConfig.jsline 26 builds thehasOwnPropertydescriptor as a plain-object literal.Object.definePropertyreadsdescriptor.get/descriptor.setvia the prototype chain, so a pollutedObject.prototype.getorObject.prototype.setmakes the call throwTypeErrorsynchronously on every axios request.
Affected Properties
| Polluted slot | Effect |
|---|---|
| Object.prototype.common | injects headers on every method |
| Object.prototype.delete / .head / .post / .put / .patch / .query | injects headers on the matching method |
| Object.prototype.get | every axios request throws TypeError: Getter must be a function from mergeConfig.js:26 |
| Object.prototype.set | every axios request throws TypeError: Setter must be a function from mergeConfig.js:26 |
Per-request headers (axios.request(url, { headers: {...} })) overwrite polluted entries. Polluting Object.prototype.get triggers the crash before any header is built.
Proof of Concept
const axios = require('axios');
// Finding A - header injection
Object.prototype.common = { 'X-Poisoned': 'yes' };
await axios.get('http://api.example.com/users');
// Wire request carries `X-Poisoned: yes`.
// Finding B - crash DoS
Object.prototype.get = { something: 'anything' };
await axios.get('http://api.example.com/users');
// TypeError: Getter must be a function: #<Object>
// at Function.defineProperty (<anonymous>)
// at mergeConfig (lib/core/mergeConfig.js:26:10)
Impact
- Server hang (
Content-Length: 99999): receiver waits for a body that never arrives. Affects requests with a body. - CL+TE conflict (
Transfer-Encoding: chunkedrides alongside axios's autoContent-Length): receiver rejects with400 Bad Request. Affects requests with a body. - Response suppression (
If-None-Match: *): receiver returns empty304 Not Modified. Affects GET / HEAD. - Crash DoS (
Object.prototype.get/.set): every axios request fails synchronously withTypeError, notAxiosError, so handlers filtering onerror.isAxiosErrormishandle the failure.
Attack Flow
flowchart TD
ROOT["Polluted Object.prototype<br/>via upstream gadget (e.g. lodash <= 4.17.10 _.merge / CVE-2018-16487)<br/>axios <= 1.15.2"]
ROOT --> CLASS_A["A. Arbitrary HTTP Header Injection<br/>Polluted defaults.headers slot rides along on every outbound axios request"]
ROOT --> CLASS_B["B. Crash DoS via Object.prototype.get / .set<br/>Polluted descriptor breaks Object.defineProperty in mergeConfig"]
CLASS_A --> PRE_A["Precondition: header not set per-request by the app<br/>Injected via defaults.headers slot<br/>(common, delete, head, post, put, patch, query)"]
PRE_A --> PA1["Response Suppression<br/>Trigger: common = {If-None-Match: *}<br/>Affects GET / HEAD"]
PA1 --> SA1["DoS<br/>304 Not Modified empty"]
PRE_A --> PA2["Server Hang<br/>Trigger: common = {Content-Length: 99999}<br/>Affects requests with body"]
PA2 --> SA2["DoS<br/>connection hang"]
PRE_A --> PA3["CL+TE Conflict<br/>Trigger: common = {Transfer-Encoding: chunked}<br/>Affects requests with body"]
PA3 --> SA3["DoS<br/>400 Bad Request"]
CLASS_B --> SB1["DoS<br/>TypeError: Getter / Setter must be a function<br/>Crashes every axios request, not only GET"]
%% Styles
style ROOT fill:#f87171,stroke:#991b1b,color:#fff
style CLASS_A…
- Record
GHSA-898c-q2cr-xwhg- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-44490
4.8
CVE-2026-44490 in axios - Patched by Root
Root has patched CVE-2026-44490 in the axios package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-44490- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - Updated
- 2026-11-06
OSVUBUNTU-CVE-2026-44490
4.8
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
- Record
UBUNTU-CVE-2026-44490- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1784856205 No score
TuxCare security update for axios (21 CVEs)
TuxCare rebuilt axios to address 21 CVEs. Fixed in 1.7.9-tuxcare.1.
- Record
CLSA-2026-1784856205- Updated
- 2026-11-02
OSVCLSA-2026-1784856218 No score
TuxCare security update for axios (3 CVEs)
TuxCare rebuilt axios to address 3 CVEs. Fixed in 1.7.7-tuxcare.4.
- Record
CLSA-2026-1784856218- Updated
- 2026-11-02
OSVCLSA-2026-1784856428 No score
TuxCare security update for axios (3 CVEs)
TuxCare rebuilt axios to address 3 CVEs. Fixed in 1.7.5-tuxcare.3.
- Record
CLSA-2026-1784856428- Updated
- 2026-11-02
OSVCLSA-2026-1784943211 No score
TuxCare security update for axios (8 CVEs)
TuxCare rebuilt axios to address 8 CVEs. Fixed in 1.6.8-tuxcare.2.
- Record
CLSA-2026-1784943211- Updated
- 2026-11-02
OSVCLSA-2026-1784943297 No score
TuxCare security update for axios (11 CVEs)
TuxCare rebuilt axios to address 11 CVEs. Fixed in 1.6.2-tuxcare.2.
- Record
CLSA-2026-1784943297- Updated
- 2026-11-02
OSVCLSA-2026-1784943412 No score
TuxCare security update for axios (4 CVEs)
TuxCare rebuilt axios to address 4 CVEs. Fixed in 0.27.2-tuxcare.3.
- Record
CLSA-2026-1784943412- Updated
- 2026-11-02
OSVCLSA-2026-1785117467 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.26.1-tuxcare.3.
- Record
CLSA-2026-1785117467- Updated
- 2026-11-02
OSVCLSA-2026-1785204471 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.26.0-tuxcare.3.
- Record
CLSA-2026-1785204471- Updated
- 2026-11-02
OSVCLSA-2026-1785291207 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.24.0-tuxcare.3.
- Record
CLSA-2026-1785291207- Updated
- 2026-11-02
OSVCLSA-2026-1785291682 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.21.4-tuxcare.3.
- Record
CLSA-2026-1785291682- Updated
- 2026-11-02
OSVCLSA-2026-1785380880 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.19.2-tuxcare.4.
- Record
CLSA-2026-1785380880- Updated
- 2026-11-02
OSVCLSA-2026-1785380888 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.18.1-tuxcare.4.
- Record
CLSA-2026-1785380888- Updated
- 2026-11-02
OSVCLSA-2026-1785467924 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.15.3-tuxcare.6.
- Record
CLSA-2026-1785467924- Updated
- 2026-11-02
OSVCLSA-2026-1790764333 No score
TuxCare security update for axios (28 CVEs)
TuxCare rebuilt axios to address 28 CVEs. Fixed in 1.13.5-tuxcare.1.
- Record
CLSA-2026-1790764333- Updated
- 2026-11-02
OSVCLSA-2026-1792163864 No score
TuxCare security update for axios (2 CVEs)
TuxCare rebuilt axios to address 2 CVEs. Fixed in 0.18.0-tuxcare.1.
- Record
CLSA-2026-1792163864- Updated
- 2026-11-02
OSVCLSA-2026-1792163995 No score
TuxCare security update for axios (1 CVE)
TuxCare rebuilt axios to address 1 CVE. Fixed in 0.21.2-tuxcare.1.
- Record
CLSA-2026-1792163995- Updated
- 2026-11-02
OSVCLSA-2026-1793101849 No score
TuxCare security update for axios (32 CVEs)
TuxCare rebuilt axios to address 32 CVEs. Fixed in 1.13.2-tuxcare.2.
- Record
CLSA-2026-1793101849- Updated
- 2026-11-02
OSVCLSA-2026-1793110604 No score
TuxCare security update for axios (32 CVEs)
TuxCare rebuilt axios to address 32 CVEs. Fixed in 1.12.2-tuxcare.1.
- Record
CLSA-2026-1793110604- Updated
- 2026-11-02
OSVCLSA-2026-1793874599 No score
TuxCare security update for axios (27 CVEs)
TuxCare rebuilt axios to address 27 CVEs. Fixed in 1.13.6-tuxcare.3.
- Record
CLSA-2026-1793874599- Updated
- 2026-11-05
OSVCLSA-2026-1794060576 No score
TuxCare security update for axios (6 CVEs)
TuxCare rebuilt axios to address 6 CVEs. Fixed in 1.15.2-tuxcare.1.
- Record
CLSA-2026-1794060576- Updated
- 2026-11-07
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
axiosnpm |
1.0.0 up to 1.16.0 | 1.16.0 |
axiosnpm |
through 0.31.1 | 0.32.0 |
axiosTuxCare:npm From an advisory covering 21 CVEs |
1.7.9-tuxcare.0 up to 1.7.9-tuxcare.1, plus listed versions 1.7.9 |
1.7.9-tuxcare.1 |
axiosTuxCare:npm From an advisory covering 3 CVEs |
1.7.7-tuxcare.0 up to 1.7.7-tuxcare.4, plus listed versions 1.7.71.7.7-tuxcare.11.7.7-tuxcare.21.7.7-tuxcare.3 |
1.7.7-tuxcare.4 |
axiosTuxCare:npm From an advisory covering 3 CVEs |
1.7.5-tuxcare.0 up to 1.7.5-tuxcare.3, plus listed versions 1.7.51.7.5-tuxcare.11.7.5-tuxcare.2 |
1.7.5-tuxcare.3 |
axiosTuxCare:npm From an advisory covering 8 CVEs |
1.6.8-tuxcare.0 up to 1.6.8-tuxcare.2, plus listed versions 1.6.81.6.8-tuxcare.1 |
1.6.8-tuxcare.2 |
axiosTuxCare:npm From an advisory covering 11 CVEs |
1.6.2-tuxcare.0 up to 1.6.2-tuxcare.2, plus listed versions 1.6.21.6.2-tuxcare.1 |
1.6.2-tuxcare.2 |
axiosTuxCare:npm From an advisory covering 4 CVEs |
0.27.2-tuxcare.0 up to 0.27.2-tuxcare.3, plus listed versions 0.27.20.27.2-tuxcare.10.27.2-tuxcare.2 |
0.27.2-tuxcare.3 |
axiosTuxCare:npm |
0.26.1-tuxcare.0 up to 0.26.1-tuxcare.3, plus listed versions 0.26.10.26.1-tuxcare.10.26.1-tuxcare.2 |
0.26.1-tuxcare.3 |
axiosTuxCare:npm |
0.26.0-tuxcare.0 up to 0.26.0-tuxcare.3, plus listed versions 0.26.00.26.0-tuxcare.10.26.0-tuxcare.2 |
0.26.0-tuxcare.3 |
Show 24 moreShow less
| Package | Affected | Fixed |
|---|---|---|
axiosTuxCare:npm |
0.24.0-tuxcare.0 up to 0.24.0-tuxcare.3, plus listed versions 0.24.00.24.0-tuxcare.10.24.0-tuxcare.2 |
0.24.0-tuxcare.3 |
axiosTuxCare:npm |
0.21.4-tuxcare.0 up to 0.21.4-tuxcare.3, plus listed versions 0.21.40.21.4-tuxcare.10.21.4-tuxcare.2 |
0.21.4-tuxcare.3 |
axiosTuxCare:npm |
0.19.2-tuxcare.0 up to 0.19.2-tuxcare.4, plus listed versions 0.19.20.19.2-tuxcare.10.19.2-tuxcare.20.19.2-tuxcare.3 |
0.19.2-tuxcare.4 |
axiosTuxCare:npm |
0.18.1-tuxcare.0 up to 0.18.1-tuxcare.4, plus listed versions 0.18.10.18.1-tuxcare.10.18.1-tuxcare.20.18.1-tuxcare.3 |
0.18.1-tuxcare.4 |
axiosTuxCare:npm |
0.15.3-tuxcare.0 up to 0.15.3-tuxcare.6, plus listed versions 0.15.30.15.3-tuxcare.10.15.3-tuxcare.20.15.3-tuxcare.30.15.3-tuxcare.40.15.3-tuxcare.5 |
0.15.3-tuxcare.6 |
axiosTuxCare:npm From an advisory covering 28 CVEs |
1.13.5-tuxcare.0 up to 1.13.5-tuxcare.1, plus listed versions 1.13.5 |
1.13.5-tuxcare.1 |
axiosTuxCare:npm From an advisory covering 2 CVEs |
0.18.0-tuxcare.0 up to 0.18.0-tuxcare.1, plus listed versions 0.18.0 |
0.18.0-tuxcare.1 |
axiosTuxCare:npm |
0.21.2-tuxcare.0 up to 0.21.2-tuxcare.1, plus listed versions 0.21.2 |
0.21.2-tuxcare.1 |
axiosTuxCare:npm From an advisory covering 32 CVEs |
1.13.2-tuxcare.0 up to 1.13.2-tuxcare.2, plus listed versions 1.13.21.13.2-tuxcare.1 |
1.13.2-tuxcare.2 |
axiosTuxCare:npm From an advisory covering 32 CVEs |
1.12.2-tuxcare.0 up to 1.12.2-tuxcare.1, plus listed versions 1.12.2 |
1.12.2-tuxcare.1 |
axiosTuxCare:npm From an advisory covering 27 CVEs |
1.13.6-tuxcare.0 up to 1.13.6-tuxcare.3, plus listed versions 1.13.61.13.6-tuxcare.11.13.6-tuxcare.2 |
1.13.6-tuxcare.3 |
axiosTuxCare:npm From an advisory covering 6 CVEs |
1.15.2-tuxcare.0 up to 1.15.2-tuxcare.1, plus listed versions 1.15.2 |
1.15.2-tuxcare.1 |
node-axiosDebian:12 |
All versions, plus listed versions 1.11.0+dfsg-11.12.1+dfsg-11.13.1+dfsg-11.13.2+dfsg-11.14.0+dfsg-1 Show 17 moreShow less1.15.0-11.15.2-11.16.0-11.18.0-11.19.0-11.2.1+dfsg-11.2.1+dfsg-1+deb12u11.20.0-11.5.1+dfsg-11.6.2+dfsg-11.6.8+dfsg-11.6.8+dfsg-21.7.3+dfsg-11.7.4+dfsg-11.7.7+dfsg-11.7.9+dfsg-11.8.4+dfsg-1 |
None known |
node-axiosDebian:13 |
All versions, plus listed versions 1.11.0+dfsg-11.12.1+dfsg-11.13.1+dfsg-11.13.2+dfsg-11.14.0+dfsg-1 Show 7 moreShow less1.15.0-11.15.2-11.16.0-11.18.0-11.19.0-11.20.0-11.8.4+dfsg-1 |
None known |
node-axiosDebian:14 |
before 1.16.0-1, plus listed versions 1.11.0+dfsg-11.12.1+dfsg-11.13.1+dfsg-11.13.2+dfsg-11.14.0+dfsg-11.15.0-11.15.2-11.8.4+dfsg-1 |
1.16.0-1 |
axiosnpm |
before 0.32.0 | 0.32.0 |
axiosRoot:npm |
before 1.15.2-aikido.5 | 1.15.2-aikido.51.12.1-aikido.200.21.4-aikido.81.13.5-aikido.131.13.4-aikido.71.8.4-aikido.101.2.1-aikido.11.2.1-aikido.21.2.1-aikido.30.31.1-aikido.11.15.2-aikido.21.12.0-aikido.111.13.2-aikido.100.21.1-aikido.20.21.1-aikido.30.21.1-aikido.40.21.1-aikido.51.2.1-aikido.40.31.1-aikido.21.15.2-aikido.31.15.0-aikido.91.15.0-aikido.101.15.0-aikido.111.15.0-aikido.120.27.2-aikido.101.14.0-aikido.81.14.0-aikido.91.14.0-aikido.101.13.6-aikido.51.12.2-aikido.71.7.9-aikido.91.7.9-aikido.101.13.4-aikido.81.8.3-aikido.81.15.0-aikido.131.13.2-aikido.111.12.0-aikido.121.13.6-aikido.61.7.9-aikido.111.8.4-aikido.111.13.5-aikido.141.15.2-aikido.41.8.3-aikido.91.14.0-aikido.110.31.1-aikido.31.2.1-aikido.51.12.2-aikido.81.15.0-aikido.141.12.2-aikido.91.12.2-aikido.101.12.2-aikido.110.21.4-aikido.91.7.9-aikido.120.27.2-aikido.111.13.2-aikido.120.25.0-aikido.21.6.5-aikido.21.15.1-aikido.21.8.4-aikido.121.6.5-aikido.31.7.9-aikido.130.25.0-aikido.30.25.0-aikido.41.16.0-aikido.31.16.0-aikido.11.16.0-aikido.2 |
@rootio/axiosRoot:npm |
before 1.15.2-root.io.5 | 1.15.2-root.io.51.12.1-root.io.200.21.4-root.io.81.13.5-root.io.131.13.4-root.io.71.8.4-root.io.101.2.1-root.io.11.2.1-root.io.21.2.1-root.io.30.31.1-root.io.11.15.2-root.io.21.12.0-root.io.111.13.2-root.io.100.21.1-root.io.20.21.1-root.io.30.21.1-root.io.40.21.1-root.io.51.2.1-root.io.40.31.1-root.io.21.15.2-root.io.31.15.0-root.io.91.15.0-root.io.101.15.0-root.io.111.15.0-root.io.120.27.2-root.io.101.14.0-root.io.81.14.0-root.io.91.14.0-root.io.101.13.6-root.io.51.12.2-root.io.71.7.9-root.io.91.7.9-root.io.101.13.4-root.io.81.8.3-root.io.81.15.0-root.io.131.13.2-root.io.111.12.0-root.io.121.13.6-root.io.61.7.9-root.io.111.8.4-root.io.111.13.5-root.io.141.15.2-root.io.41.8.3-root.io.91.14.0-root.io.110.31.1-root.io.31.2.1-root.io.51.12.2-root.io.81.15.0-root.io.141.12.2-root.io.91.12.2-root.io.101.12.2-root.io.110.21.4-root.io.91.7.9-root.io.120.27.2-root.io.111.13.2-root.io.120.25.0-root.io.21.6.5-root.io.21.15.1-root.io.21.8.4-root.io.121.6.5-root.io.31.7.9-root.io.130.25.0-root.io.30.25.0-root.io.41.16.0-root.io.31.16.0-root.io.11.16.0-root.io.2 |
node-axiosUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 0.19.0+dfsg-20.19.0+dfsg-2ubuntu0.1~esm1 |
None known |
node-axiosUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 0.21.1+dfsg-10.23.0+dfsg-20.24.0+dfsg-10.25.0+dfsg-20.26.0+dfsg-10.26.0+dfsg-1ubuntu0.1~esm1 |
None known |
node-axiosUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 1.2.1+dfsg-11.5.1+dfsg-11.6.2+dfsg-11.6.8+dfsg-21.6.8+dfsg-2ubuntu0.1~esm1 |
None known |
node-axiosUbuntu:25.10 |
All versions, plus listed versions 1.7.9+dfsg-11.8.4+dfsg-11.11.0+dfsg-1 |
None known |
node-axiosUbuntu:26.10 |
All versions, plus listed versions 1.13.2+dfsg-1build11.16.0-11.18.0-11.19.0-1 |
None known |
node-axiosUbuntu:Pro:26.04:LTS |
All versions, plus listed versions 1.11.0+dfsg-11.12.1+dfsg-11.13.2+dfsg-1build11.13.2+dfsg-1ubuntu0.1~esm1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | OSV | |
| affected | OSV | |
| affected | OSV | |
| affected, aliases, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-44490 is a medium vulnerability (CVSS 4.8) in Axios, published May 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.33%, the 26th percentile. Fixed in axios 1.16.0.
References
github.com/axios/axios/security/advisories/GHSA-898c-q2cr-xwhg
nvd.nist.gov/vuln/detail/CVE-2018-16487
nvd.nist.gov/vuln/detail/CVE-2026-44490
github.com/advisories/GHSA-898c-q2cr-xwhg
github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44490.json
security-tracker.debian.org/tracker/CVE-2026-44490
github.com/axios/axios
ubuntu.com/security/CVE-2026-44490
cve.org/CVERecord?id=CVE-2026-44490
Left out here: the rest of 2 source descriptions. The JSON record has them.