Skip to content

Bump axios from 1.15.0 to 1.15.2#1454

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/axios-1.15.2
Open

Bump axios from 1.15.0 to 1.15.2#1454
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/axios-1.15.2

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 6, 2026

Bumps axios from 1.15.0 to 1.15.2.

Release notes

Sourced from axios's releases.

v1.15.2

This release delivers prototype-pollution hardening for the Node HTTP adapter, adds an opt-in allowedSocketPaths allowlist to mitigate SSRF via Unix domain sockets, fixes a keep-alive socket memory leak, and ships supply-chain hardening across CI and security docs.

🔒 Security Fixes

  • Prototype Pollution Hardening (HTTP Adapter): Hardened the Node HTTP adapter and resolveConfig/mergeConfig/validator paths to read only own properties and use null-prototype config objects, preventing polluted auth, baseURL, socketPath, beforeRedirect, and insecureHTTPParser from influencing requests. (#10779)
  • SSRF via socketPath: Rejects non-string socketPath values and adds an opt-in allowedSocketPaths config option to restrict permitted Unix domain socket paths, returning AxiosError ERR_BAD_OPTION_VALUE on mismatch. (#10777)
  • Supply-chain Hardening: Added .npmrc with ignore-scripts=true, lockfile lint CI, non-blocking reproducible build diff, scoped CODEOWNERS, expanded SECURITY.md/THREATMODEL.md with provenance verification (npm audit signatures), 60-day resolution policy, and maintainer incident-response runbook. (#10776)

🚀 New Features

  • allowedSocketPaths Config Option: New request config option (and TypeScript types) to allowlist Unix domain socket paths used by the Node http adapter; backwards compatible when unset. (#10777)

🐛 Bug Fixes

  • Keep-alive Socket Memory Leak: Installs a single per-socket error listener tracking the active request via kAxiosSocketListener/kAxiosCurrentReq, eliminating per-request listener accumulation, MaxListenersExceededWarning, and linear heap growth under concurrent or long-running keep-alive workloads (fixes #10780). (#10788)

🔧 Maintenance & Chores

  • Changelog: Updated CHANGELOG.md with v1.15.1 release notes. (#10781)

Full Changelog

v1.15.1

This release ships a coordinated set of security hardening fixes across headers, body/redirect limits, multipart handling, and XSRF/prototype-pollution vectors, alongside a broad sweep of bug fixes, test migrations, and threat-model documentation updates.

🔒 Security Fixes

  • Header Injection Hardening: Tightened validation and sanitisation across request header construction to close the header-injection attack surface. (#10749)
  • CRLF Stripping in Multipart Headers: Correctly strips CR/LF from multipart header values to prevent injection via field names and filenames. (#10758)
  • Prototype Pollution / Auth Bypass: Replaced unsafe in checks with hasOwnProperty to prevent authentication bypass via prototype pollution on config objects, with additional regression tests. (#10761, #10760)
  • withXSRFToken Truthy Bypass: Short-circuits on any truthy non-boolean value, so an ambiguous config no longer silently leaks the XSRF token cross-origin. (#10762)
  • maxBodyLength With Zero Redirects: Enforces maxBodyLength even when maxRedirects is set to 0, closing a bypass path for oversized request bodies. (#10753)
  • Streamed Response maxContentLength Bypass: Applies maxContentLength to streamed responses that previously bypassed the cap. (#10754)
  • Follow-up CVE Completion: Completes an earlier incomplete CVE fix to fully close the regression window. (#10755)

🚀 New Features

  • AI-Based Docs Translations: Initial scaffold for AI-assisted translations of the documentation site. (#10705)
  • Location Request Header Type: Adds Location to CommonRequestHeadersList for accurate typing of redirect-aware requests. (#7528)

🐛 Bug Fixes

  • FormData Handling: Removes Content-Type when no boundary is present on FormData fetch requests, supports multi-select fields, cancels request.body instead of the source stream on fetch abort, and fixes a recursion bug in form-data serialisation. (#7314, #10676, #10702, #10726)
  • HTTP Adapter: Handles socket-only request errors without leaking keep-alive listeners. (#10576)
  • Progress Events: Clamps loaded to total for computable upload/download progress events. (#7458)
  • Types: Aligns runWhen type with the runtime behaviour in InterceptorManager and makes response header keys case-insensitive. (#7529, #10677)
  • buildFullPath: Uses strict equality in the base/relative URL check. (#7252)
  • AxiosURLSearchParams Regex: Improves the regex used for param serialisation to avoid edge-case mismatches. (#10736)
  • Resilient Value Parsing: Parses out header/config values instead of throwing on malformed input. (#10687)

... (truncated)

Changelog

Sourced from axios's changelog.

v1.15.2 - April 21, 2026

This release delivers prototype-pollution hardening for the Node HTTP adapter, adds an opt-in allowedSocketPaths allowlist to mitigate SSRF via Unix domain sockets, fixes a keep-alive socket memory leak, and ships supply-chain hardening across CI and security docs.

🔒 Security Fixes

  • Prototype Pollution Hardening (HTTP Adapter): Hardened the Node HTTP adapter and resolveConfig/mergeConfig/validator paths to read only own properties and use null-prototype config objects, preventing polluted auth, baseURL, socketPath, beforeRedirect, and insecureHTTPParser from influencing requests. (#10779)
  • SSRF via socketPath: Rejects non-string socketPath values and adds an opt-in allowedSocketPaths config option to restrict permitted Unix domain socket paths, returning AxiosError ERR_BAD_OPTION_VALUE on mismatch. (#10777)
  • Supply-chain Hardening: Added .npmrc with ignore-scripts=true, lockfile lint CI, non-blocking reproducible build diff, scoped CODEOWNERS, expanded SECURITY.md/THREATMODEL.md with provenance verification (npm audit signatures), 60-day resolution policy, and maintainer incident-response runbook. (#10776)

🚀 New Features

  • allowedSocketPaths Config Option: New request config option (and TypeScript types) to allowlist Unix domain socket paths used by the Node http adapter; backwards compatible when unset. (#10777)

🐛 Bug Fixes

  • Keep-alive Socket Memory Leak: Installs a single per-socket error listener tracking the active request via kAxiosSocketListener/kAxiosCurrentReq, eliminating per-request listener accumulation, MaxListenersExceededWarning, and linear heap growth under concurrent or long-running keep-alive workloads (fixes #10780). (#10788)

🔧 Maintenance & Chores

  • Changelog: Updated CHANGELOG.md with v1.15.1 release notes. (#10781)

Full Changelog


v1.15.1 - April 19, 2026

This release ships a coordinated set of security hardening fixes across headers, body/redirect limits, multipart handling, and XSRF/prototype-pollution vectors, alongside a broad sweep of bug fixes, test migrations, and threat-model documentation updates.

🔒 Security Fixes

  • Header Injection Hardening: Tightened validation and sanitisation across request header construction to close the header-injection attack surface. (#10749)

  • CRLF Stripping in Multipart Headers: Correctly strips CR/LF from multipart header values to prevent injection via field names and filenames. (#10758)

  • Prototype Pollution / Auth Bypass: Replaced unsafe in checks with hasOwnProperty to prevent authentication bypass via prototype pollution on config objects, with additional regression tests. (#10761, #10760)

  • withXSRFToken Truthy Bypass: Short-circuits on any truthy non-boolean value, so an ambiguous config no longer silently leaks the XSRF token cross-origin. (#10762)

  • maxBodyLength With Zero Redirects: Enforces maxBodyLength even when maxRedirects is set to 0, closing a bypass path for oversized request bodies. (#10753)

  • Streamed Response maxContentLength Bypass: Applies maxContentLength to streamed responses that previously bypassed the cap. (#10754)

  • Follow-up CVE Completion: Completes an earlier incomplete CVE fix to fully close the regression window. (#10755)

🚀 New Features

  • AI-Based Docs Translations: Initial scaffold for AI-assisted translations of the documentation site. (#10705)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [axios](https://github.com/axios/axios) from 1.15.0 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.15.0...v1.15.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label May 6, 2026
Copilot AI review requested due to automatic review settings May 6, 2026 12:19
@dependabot dependabot Bot added javascript Pull requests that update javascript code dependencies Pull requests that update a dependency file labels May 6, 2026
@dependabot dependabot Bot review requested due to automatic review settings May 6, 2026 12:19
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependabot Review

Security: The update resolves known axios advisories present in 1.15.0. An isolated npm audit against [email protected] reports axios as vulnerable, including prototype-pollution/auth-bypass, NO_PROXY/SSRF bypass, header injection, XSRF leakage, multipart CRLF injection, and body/content-length bypass advisories. Isolated audits for both [email protected] and the lockfile-resolved [email protected] report 0 axios vulnerabilities. I did not find a new axios advisory introduced by this PR. A full project yarn npm audit --environment production --recursive --json still reports unrelated pre-existing vulnerabilities in other packages.

Safety: Repository usage is limited to src/utils/apiCallHandler.js (get, post, put, delete with simple headers and withCredentials) plus Jest mocks. The axios changes from 1.15.0 to 1.15.2 are mostly security hardening and bug fixes. However, this PR's lockfile currently resolves axios to 1.16.0, not 1.15.2; 1.16.0 adds extra observable changes around fetch/http/xhr adapter limits, aborts, redirects/proxy headers, URL-decoded basic auth credentials, protocol parsing, and UTF-8 URL encoding. I do not see repo code using the affected advanced options (socketPath, proxy config, maxBodyLength, maxContentLength, URL-embedded basic auth, custom transformRequest, etc.).

Local test results:

  • yarn install --immutable passed with existing peer-dependency warnings.
  • yarn lint passed.
  • CI=true yarn test --coverage --maxWorkers=4 --workerThreads=true --reporters=default --reporters=jest-junit --reporters=jest-github-actions-reporter passed: 92 suites, 816 tests.
  • yarn exec cypress run could not run locally because the Cypress binary was not cached and the cloud environment could not download it from download.cypress.io (SSL_ERROR_SYSCALL). The webpack dev server did compile successfully before this attempt. GitHub CI had lint/test/deploy green when checked; test-cypress was still in progress.

Recommendation: Merge with caution once GitHub's Cypress job is green and maintainers are comfortable that the actual installed version is 1.16.0. If the intention is strictly to review/ship 1.15.2, the lockfile should be corrected or the manifest pinned before merge.

Open in Web View Automation 

Sent by Cursor Automation: Editor-UI - Tests Dependabot PRs

Comment thread yarn.lock
version: 1.15.0
resolution: "axios@npm:1.15.0"
"axios@npm:^1.15.2":
version: 1.16.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is titled as an axios 1.15.0 -> 1.15.2 update, but Yarn resolves the new ^1.15.2 range to [email protected]. 1.16.0 has additional behavioural changes beyond the Dependabot summary for 1.15.2, so this should be intentional before merging.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependabot review: axios

Security: This PR is beneficial. Although the PR title says 1.15.2, the committed yarn.lock resolves [email protected] because package.json uses the caret range ^1.15.2. The effective locked upgrade is therefore [email protected] -> [email protected].

The old locked version 1.15.0 is affected by axios advisories that are fixed by this update:

  • GHSA-pmwg-cvhr-8vh7 / CVE-2026-42043: high severity NO_PROXY loopback bypass in axios <=1.15.0, patched in >=1.15.1.
  • GHSA-q8qp-cvcw-x6jj / CVE-2026-42264: high severity prototype-pollution read-side gadgets in the Node HTTP adapter, patched in >=1.15.2.

The effective 1.16.0 lockfile also moves axios' follow-redirects dependency range from ^1.15.11 to ^1.16.0. I did not find a current yarn npm audit finding for axios or follow-redirects after the update. The audit still exits non-zero due to pre-existing unrelated advisories elsewhere in the dependency tree.

Safety of merging: Low risk for this repository. Axios usage here is concentrated in src/utils/apiCallHandler.js as simple browser-facing get, post, put, and delete calls with JSON/auth headers and withCredentials on project reads. I did not find repo usage of the options most affected by the 1.15.2/1.16.0 changes: Node proxy/NO_PROXY, socketPath, beforeRedirect, custom Host, URL-embedded basic auth, maxBodyLength, or maxContentLength.

Notable upstream behavior changes in 1.16.0 include fetch-adapter enforcement of maxBodyLength/maxContentLength, stricter protocol parsing, URL-decoded basic auth credentials, preserved user-supplied Host through proxies, and UTF-8 URL encoding cleanup. These do not appear to affect the current app usage.

Local verification:

  • yarn install --immutable passed with existing peer warnings.
  • yarn lint passed.
  • CI=true yarn test passed: 92 suites, 816 tests.
  • yarn build passed with existing webpack asset-size warnings.
  • The webpack dev server started and compiled successfully on port 3011.
  • Cypress e2e could not be run in this cloud runner: the Cypress binary was not present after install, and download.cypress.io failed with OpenSSL SSL_connect: SSL_ERROR_SYSCALL, so yarn exec cypress run could not start.

Recommendation: Merge. The update removes known axios security exposure from the locked dependency tree and the observable behavior changes are unlikely to affect this frontend's current axios usage. The only caveat is that the PR title understates the effective locked version (1.16.0), but I do not see that as a blocker.

Open in Web View Automation 

Sent by Cursor Automation: Editor-UI - Tests Dependabot PRs

@zetter-rpf zetter-rpf self-assigned this May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant