Skip to content

chore(deps): patch uuid and webpack-dev-server security alerts (dev-only)#442

Merged
josephfusco merged 4 commits into
mainfrom
chore/security-deps-uuid-wds
May 27, 2026
Merged

chore(deps): patch uuid and webpack-dev-server security alerts (dev-only)#442
josephfusco merged 4 commits into
mainfrom
chore/security-deps-uuid-wds

Conversation

@josephfusco

Copy link
Copy Markdown
Member

Summary

Adds two entries to the overrides block in package.json to force transitive dependencies to patched versions:

  • uuid^11.1.1 — resolves GHSA-w5hq-g745-h8pq (missing buffer bounds check in v3/v5/v6)
  • webpack-dev-server^5.2.4 — resolves GHSA-79cf-xcqc-c78w (cross-origin source code exposure on non-HTTPS)

Dependabot couldn't auto-fix either: uuid is purely transitive (Dependabot's job is configured allowed-updates: direct only — 4 prior runs failed), and webpack-dev-server was pinned at 4.x via @wordpress/scripts's constraint with no 4.x backport from upstream.

Why this is non-breaking for consumers

Neither package is referenced by code in this repo (no require/import of uuid or webpack-dev-server anywhere in includes/, bin/, or root *.php). Both exist only in the dev/test tooling tree. The plugin's files array publishes only includes/, vendor/, license/readme, and wp-graphql-content-blocks.phpnode_modules never ships.

Test plan

  • npm install succeeds with no peer-dep conflicts (409 added, 181 removed, 537 changed)
  • npm ls uuid returns uuid@11.1.1 overridden (single resolution)
  • npm ls webpack-dev-server returns webpack-dev-server@5.2.4 overridden (single resolution)
  • @wordpress/scripts and webpack-dev-server both require() cleanly under Node 20
  • CI: existing PHPStan, WPCS, Schema Linter, and Test Plugin workflows pass
  • After merge: dependabot alert status for both GHSAs flips to resolved/closed

Release impact

Includes a patch-level changeset so this rolls into the next release (currently @wpengine/wp-graphql-content-blocks@4.8.5 queued in #403).

Add overrides to force transitive `uuid` to ^11.1.1 (GHSA-w5hq-g745-h8pq)
and `webpack-dev-server` to ^5.2.4 (GHSA-79cf-xcqc-c78w). Both alerts are
dev-scope only — neither package is in the plugin's published `files`
list, so consumers are unaffected. The bumps apply to local build/test
tooling.
@josephfusco josephfusco requested a review from a team as a code owner May 26, 2026 14:43
@changeset-bot

changeset-bot Bot commented May 26, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9e6fa62

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@wpengine/wp-graphql-content-blocks Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses two GitHub security advisories in the repo’s dev/tooling dependency tree by adding npm overrides so transitive packages resolve to patched versions, and updates the lockfile accordingly. It also adds a changeset to publish the resulting patch release.

Changes:

  • Add npm overrides to force uuid^11.1.1 and webpack-dev-server^5.2.4.
  • Refresh package-lock.json to reflect the overridden resolutions and their updated transitive dependencies.
  • Add a patch changeset describing the dev-only security dependency overrides.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.

File Description
package.json Adds overrides entries to force patched versions of uuid and webpack-dev-server.
package-lock.json Updates lockfile to the overridden resolutions and new transitive dependency graph.
.changeset/security-deps-uuid-wds.md Adds a patch changeset documenting the dev-only security advisory remediation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json Outdated
Comment thread package.json Outdated
Aligns the declared Node engine with .nvmrc (20) and CI. The newly
overridden webpack-dev-server@^5.2.4 requires Node >=18.12, and some
deeper transitives want Node 20+, so the previous ">=16.0.0" was
factually wrong after PR #442's lockfile regeneration. Addresses
Copilot review feedback.
josephfusco and others added 2 commits May 26, 2026 11:32
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@josephfusco josephfusco merged commit 1c3b6df into main May 27, 2026
13 checks passed
@josephfusco

Copy link
Copy Markdown
Member Author

Review nudge for @wpengine/headless-open-source — this PR is the gating piece for the 4.8.5 patch release:

  • Resolves all 4 open Dependabot security alerts (uuid GHSA-w5hq-g745-h8pq + webpack-dev-server GHSA-79cf-xcqc-c78w and prior). All dev-only, no shipped-plugin impact.
  • All 13 CI checks are green; mergeable; includes a patch changeset.
  • Auto-merge is now armed (--squash --delete-branch) — it will land the moment an approval is in.

Once this merges, the changesets action will refresh #403 to consolidate WP 6.9 compat + these security fixes into the same 4.8.5 release.

@josephfusco josephfusco deleted the chore/security-deps-uuid-wds branch May 27, 2026 14:18
josephfusco added a commit that referenced this pull request May 27, 2026
PR #442 (1c3b6df) added webpack-dev-server@5.2.4 to package-lock.json
but the corresponding `overrides` entry never made it into package.json.
`npm ci` on main now fails with "Missing: webpack-dev-server@4.15.2 from
lock file" because the natural dep tree (via @wordpress/scripts) wants
4.15.2 while the lockfile has 5.2.4 with no override to bridge the gap.

This breaks the release workflow — without it, the changesets action
cannot install deps to refresh PR #403 or publish 4.8.5.

Adding the missing override is sufficient; the lockfile is already at
the correct resolution and `npm install --package-lock-only` is a no-op.
Verified locally: `npm ci --dry-run` now exits 0.
@josephfusco josephfusco mentioned this pull request May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants