Skip to content

LTS-2885: pin protobufjs to 7.6.4 (fix GHSA-xq3m-2v4x-88gg RCE)#13

Merged
Ankit098 merged 2 commits into
mainfrom
LTS-2885-protobufjs-7.6.4
Jun 25, 2026
Merged

LTS-2885: pin protobufjs to 7.6.4 (fix GHSA-xq3m-2v4x-88gg RCE)#13
Ankit098 merged 2 commits into
mainfrom
LTS-2885-protobufjs-7.6.4

Conversation

@anupam-s-20

@anupam-s-20 anupam-s-20 commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Context

ticket - https://browserstack.atlassian.net/browse/LTS-2885
Dependabot flagged a critical arbitrary-code-execution vulnerability in protobufjs (GHSA-xq3m-2v4x-88gg, tracked internally as LTS-2885). The advisory: malicious type names in a protobuf schema definition can break out of protobufjs' runtime code generation and execute arbitrary JS during decode.

This repo's package-lock.json resolves protobufjs@7.5.3, which is < 7.5.5 and therefore vulnerable.

protobufjs is not a direct dependency — the sample's own code only uses @playwright/test. It comes in transitively through the BrowserStack SDK:

browserstack-node-sdk
  └─ @google-cloud/compute / @google-cloud/container / @grpc/proto-loader
       └─ google-gax
            └─ protobufjs

Because it's transitive, Dependabot couldn't auto-open a bump PR — it needs an overrides pin, which is the same mechanism this repo already uses for qs, jws, tar-fs, etc.

Change

  • package.json: add "protobufjs": "7.6.4" to the existing overrides block
  • package-lock.json: regenerated so the pin takes effect (lockfileVersion 2 preserved)

7.6.4 is the latest 7.x and is semver-compatible with the ^7.2.5 / ^7.3.2 constraints already in the tree.

Impact

Pinning to 7.6.4 resolves not just the critical GHSA-xq3m-2v4x-88gg but all open protobufjs advisories on this repo in one bump (#31 plus #38–#43, which need ≥ 7.5.6). After merge to main, Dependabot re-scans and auto-resolves these alerts, closing LTS-2885.

Verification

  • protobufjs resolves to 7.6.4; dependency tree resolves cleanly with the override.
  • Lockfile churn is contained to the protobufjs family only (protobufjs + its @protobufjs/* helpers; @protobufjs/inquire dropped). No unrelated packages changed.
  • Scope is the protobufjs fix only — unrelated drift (test @sample tags, Semgrep pin) intentionally left out.

@anupam-s-20 anupam-s-20 requested a review from a team as a code owner June 24, 2026 13:49
@anupam-s-20 anupam-s-20 requested a review from sourabhd-cbu June 24, 2026 13:49
@Ankit098 Ankit098 merged commit bcc1997 into main Jun 25, 2026
5 checks passed
@Ankit098 Ankit098 deleted the LTS-2885-protobufjs-7.6.4 branch June 25, 2026 05:31
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.

3 participants