Skip to content

fix(security): patch protobufjs, xmldom, axios, basic-ftp vulns (APS-18824, APS-18823, APS-18720, APS-18663)#21

Merged
karanshah-browserstack merged 2 commits intomainfrom
aps-18824-aps-18823-aps-18720-aps-18663-security-fixes
Apr 21, 2026
Merged

fix(security): patch protobufjs, xmldom, axios, basic-ftp vulns (APS-18824, APS-18823, APS-18720, APS-18663)#21
karanshah-browserstack merged 2 commits intomainfrom
aps-18824-aps-18823-aps-18720-aps-18663-security-fixes

Conversation

@karanshah-browserstack
Copy link
Copy Markdown
Collaborator

@karanshah-browserstack karanshah-browserstack commented Apr 21, 2026

Summary

Resolves four security advisories flagged against package-lock.json on this repo.

Jira Package Advisory CVSS Before → After
APS-18824 protobufjs GHSA-xq3m-2v4x-88gg — arbitrary code execution 7.5.4 → 7.5.5
APS-18823 @xmldom/xmldom GHSA-wh4c-j3r5-mjhp — CDATA XML injection 7.5 0.9.8 → 0.9.10
APS-18720 axios GHSA-3p68-rc4w-qgx5 — NO_PROXY bypass / SSRF 1.13.2 → 1.15.1
APS-18663 basic-ftp GHSA-chqc-8p9q-pq6q — FTP CRLF command injection 8.6 5.2.0 → 5.3.0

Changes

  • package.json:
    • Added protobufjs and basic-ftp to the overrides block. Existing @xmldom/xmldom and axios overrides are retained; the stale lockfile is regenerated so they take effect.
    • Pinned playwright to 1.58.1 (from ^1.41.2, which was resolving to 1.59.1). 1.59.x is not yet supported by browserstack-node-sdk; sessions connected but never received WebDriver commands, leading to per-test timeouts.
  • package-lock.json — regenerated from scratch. All four transitive dependencies now resolve to patched versions.

Verification

  • npm audit: none of the four target GHSAs remain in the tree.
  • require() smoke test: all four packages load; public APIs (DOMParser, axios.get, Client, Root) intact.
  • npm ls --all: no invalid/missing entries; only single install of each package.

End-to-end on BrowserStack

Both sample flows executed cleanly against the patched lockfile + pinned playwright (3 parallel platforms each: Win11 Chrome, OSX Ventura playwright-webkit, Win11 playwright-firefox):

Flow Result Build URL
npm run sample-test 3 passed / 24s https://automate.browserstack.com/dashboard/v2/builds/0f982a520e2e9e3bb340f44e211cea81f57e796e
npm run sample-local-test 3 passed / 18s https://automate.browserstack.com/dashboard/v2/builds/ee92272577f3ec111596e0dccc67ee1df3118cfc

Build URLs + session IDs are also attached as comments on each Jira ticket.

Test plan

  • npm install resolves cleanly on a fresh checkout
  • npm run sample-test passes end-to-end against BrowserStack
  • npm run sample-local-test passes end-to-end with BrowserStack Local
  • Four target GHSAs no longer flagged by npm audit

🤖 Generated with Claude Code

…ios overrides

- Add protobufjs (^7.5.5) override to patch arbitrary code execution (APS-18824, GHSA-xq3m-2v4x-88gg)
- Add basic-ftp (>=5.2.2) override to patch FTP CRLF command injection (APS-18663, GHSA-chqc-8p9q-pq6q)
- Regenerate package-lock.json so existing @xmldom/xmldom (APS-18823) and axios (APS-18720) overrides take effect

Resulting installed versions:
  @xmldom/xmldom 0.9.8  -> 0.9.10
  axios          1.13.2 -> 1.15.1
  basic-ftp      5.2.0  -> 5.3.0
  protobufjs     7.5.4  -> 7.5.5

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@karanshah-browserstack karanshah-browserstack requested a review from a team as a code owner April 21, 2026 07:00
playwright 1.59.x is newer than the version currently supported by BrowserStack's
browserstack-node-sdk codeceptjs integration; sessions launched but never received
WebDriver commands, leading to 120s per-session timeouts. Pinning to 1.58.1 (the
latest BrowserStack-supported release) restores end-to-end execution.

Verified with two clean runs against the patched lockfile:
  - sample-test:       3 passed in 24s  (build 0f982a520e2e9e3bb340f44e211cea81f57e796e)
  - sample-local-test: 3 passed in 18s  (build ee92272577f3ec111596e0dccc67ee1df3118cfc)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@karanshah-browserstack karanshah-browserstack merged commit ede3891 into main Apr 21, 2026
5 checks passed
@karanshah-browserstack karanshah-browserstack deleted the aps-18824-aps-18823-aps-18720-aps-18663-security-fixes branch April 21, 2026 09:16
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.

2 participants