Bump jest-puppeteer and puppeteer to resolve axios CVE-2026-40175#23169
Bump jest-puppeteer and puppeteer to resolve axios CVE-2026-40175#23169enricobattocchi merged 2 commits intotrunkfrom
Conversation
…6-40175 Bumps jest-puppeteer from ^6.2.0 to ^11.0.0 and puppeteer from ^9.0.0 to ^24.41.0 in the e2e-tests package. This eliminates the transitive dependency on axios@0.25.0 (via wait-on@6) which was vulnerable to CRLF header injection (GHSA-fvcv-3m26-pcqx, CVSS 10.0). Also re-resolves the remaining axios lockfile entries so all transitive axios dependencies now resolve to 1.15.0 (patched). Addresses Dependabot alert #702. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@enricobattocchi Please be aware that following packages have been abandoned and are not actively maintained anymore:
Please consider using the other packages instead. |
Coverage Report for CI Build 5Coverage at 53.429% (no base build to compare)Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
There was a problem hiding this comment.
Pull request overview
Updates the E2E test tooling dependency chain to eliminate vulnerable transitive axios versions and converge on a single patched axios@1.15.0.
Changes:
- Bump
jest-puppeteerto^11.0.0andpuppeteerto^24.41.0inpackages/e2e-tests. - Re-resolve
yarn.lockso all transitiveaxiosranges resolve toaxios@1.15.0. - Update related transitive dependencies (
wait-on@8,joi@18,follow-redirects@1.16.0, etc.) as part of the re-lock.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
packages/e2e-tests/package.json |
Major bumps to puppeteer tooling to move off the vulnerable axios chain. |
yarn.lock |
Lockfile re-resolution to consolidate to a single patched axios@1.15.0 and reflect updated transitive deps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Aligns jest and babel-jest with jest-environment-node@^29.7.0 pulled in by jest-puppeteer@^11, avoiding multiple Jest versions and potential API incompatibilities. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@enricobattocchi Please be aware that following packages have been abandoned and are not actively maintained anymore:
Please consider using the other packages instead. |
Context
Addresses Dependabot alert #702 (CVE-2026-40175, CVSS 10.0): Axios is vulnerable to CRLF header injection enabling HTTP request smuggling and cloud metadata exfiltration (SSRF).
Note: Despite the critical CVSS score, this vulnerability had no real impact on the plugin or its users. Axios is exclusively a transitive development dependency — it is not bundled or shipped with the plugin. It was pulled in by dev/build/test tooling only (
lerna→nx,@wordpress/scripts→wait-on,jest-puppeteer→wait-on). The vulnerability requires a prototype pollution gadget combined with axios making HTTP requests in a server context, which is not a realistic attack vector through build or test tooling. This PR resolves the alert for housekeeping purposes.Summary
This PR can be summarized in the following changelog entry:
axiosfrom 0.25.0/1.2.6/1.11.0 to 1.15.0 to resolve a critical security vulnerability.Relevant technical choices:
jest-puppeteerfrom^6.2.0to^11.0.0andpuppeteerfrom^9.0.0to^24.41.0inpackages/e2e-tests/package.json. This was necessary because the oldjest-puppeteer@6chain (jest-environment-puppeteer→jest-dev-server→wait-on@6→axios@^0.25.0) was locked to a semver range that could never reach the patched version. The new chain useswait-on@8which depends onaxios@^1.12.1.jestandbabel-jestfrom^27.5.1/^26.6.3to^29.7.0to align withjest-environment-node@^29.7.0pulled in byjest-puppeteer@^11, avoiding multiple Jest versions and API incompatibilities.yarn.lockand re-resolved, so all three transitive axios ranges (^1.0.0from nx,^1.6.1from@wordpress/scripts,^1.12.1from the newwait-on@8) now resolve to a singleaxios@1.15.0.packages/e2e-testspackage is not actively used, so the major version bumps in its test infrastructure carry no risk to CI or production.Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
yarn installcompletes without errors.axiosversion below1.15.0appears inyarn.lock(grep "axios" yarn.lock).Relevant test scenarios
Test instructions for QA when the code is in the RC
Impact check
This PR affects the following parts of the plugin, which may require extra testing:
packages/e2e-tests/package.jsonandyarn.lockare changed (dev dependency resolution).Other environments
[shopify-seo], added test instructions for Shopify and attached theShopifylabel to this PR.[yoast-doc-extension], added test instructions for Yoast SEO for Google Docs and attached theGoogle Docs Add-onlabel to this PR.Documentation
Quality assurance
grunt build:imagesand commited the results, if my PR introduces new images or SVGs.Innovation
innovationlabel.