Skip to content

chore(deps): bump ws to 8.20.1 (GHSA-58qx-3vcg-4xpx) - #209

Open
sassyconsultingllc wants to merge 1 commit into
cloudflare:mainfrom
sassyconsultingllc:bump-ws-8.20.1
Open

chore(deps): bump ws to 8.20.1 (GHSA-58qx-3vcg-4xpx)#209
sassyconsultingllc wants to merge 1 commit into
cloudflare:mainfrom
sassyconsultingllc:bump-ws-8.20.1

Conversation

@sassyconsultingllc

Copy link
Copy Markdown

What kind of change does this PR introduce?

Security dependency bump.

Did you add tests for your changes?

No — dependency-only patch bump. ws@8.20.1 is a security-only release with no API or behavior change (upstream release notes).

If relevant, did you update the documentation?

Not applicable — no user-facing change.

Summary

Bumps ws to 8.20.1 to address GHSA-58qx-3vcg-4xpx / CVE-2026-45736 — an uninitialized memory disclosure in WebSocket.close() when a TypedArray is passed as the reason argument. The vulnerability affects ws >=8.0.0 <8.20.1. Fixed upstream in ws@8.20.1 (commit c0327ec).

Two packages here declared ws with a ^8.18.0 / 8.18.0 constraint that resolves to the vulnerable version in stale lockfiles:

  • packages/puppeteer-core (@cloudflare/puppeteer): ^8.18.0^8.20.1
  • packages/testserver (@pptr/testserver): 8.18.08.20.1

Although the existing caret on puppeteer-core already allows 8.20.1 via semver, bumping the floor guarantees that every fresh install of @cloudflare/puppeteer resolves to a patched ws even when a downstream lockfile pre-dates the upstream release. This is the same pattern Cloudflare's workers-sdk is applying for the same advisory.

package-lock.json regenerated via npm install --package-lock-only. After the bump, both packages/puppeteer-core/node_modules/ws and packages/testserver/node_modules/ws resolve to 8.20.1.

Does this PR introduce a breaking change?

No — ws@8.20.1 release notes confirm the change is security-only with no API or behavior differences. Consumers using @cloudflare/puppeteer need no migration.

Other information

Related downstream PR for the same advisory in Cloudflare's monorepo: cloudflare/workers-sdk#13978.

Bumps `ws` from `^8.18.0` to `^8.20.1` in `packages/puppeteer-core`
(@cloudflare/puppeteer) and from `8.18.0` to `8.20.1` in
`packages/testserver` (@pptr/testserver).

The patched range addresses GHSA-58qx-3vcg-4xpx (CVE-2026-45736), an
uninitialized memory disclosure in `WebSocket.close()` when a
`TypedArray` is passed as the `reason` argument. Fixed upstream in
ws@8.20.1 (websockets/ws@c0327ec).

Both packages already declared a compatible range, but pinning the
floor at 8.20.1 ensures every fresh install of @cloudflare/puppeteer
resolves to a patched ws regardless of consumer lockfile staleness.

package-lock.json regenerated via `npm install --package-lock-only`.
Copilot AI review requested due to automatic review settings May 20, 2026 03:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates the ws dependency version across packages to a newer 8.x release.

Changes:

  • Bumped ws in packages/testserver from 8.18.0 to 8.20.1
  • Bumped ws in packages/puppeteer-core from ^8.18.0 to ^8.20.1

Reviewed changes

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

File Description
packages/testserver/package.json Updates pinned ws dependency to 8.20.1
packages/puppeteer-core/package.json Updates ws semver range to start at 8.20.1

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

@github-actions github-actions Bot added the Stale label Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants