Skip to content

[APS-19415][APS-19417] fix: bump browserstack-local + override critical transitive CVEs#34

Open
Rohannagariya1 wants to merge 1 commit into
browserstack:masterfrom
Rohannagariya1:fix/APS-19415-19417-browserstack-local-and-transitive-cves
Open

[APS-19415][APS-19417] fix: bump browserstack-local + override critical transitive CVEs#34
Rohannagariya1 wants to merge 1 commit into
browserstack:masterfrom
Rohannagariya1:fix/APS-19415-19417-browserstack-local-and-transitive-cves

Conversation

@Rohannagariya1

Copy link
Copy Markdown

Security Fix: APS-19415 + APS-19417 (combined)

This single PR addresses two linked findings on this repo. Full protractor -> Playwright/WebdriverIO migration is out of scope (tracked in APPSEC-409); this PR is the interim CVE-clearing fix.

APS-19415 — browserstack-local command injection (GHSA-g4w6-c99w-4wh7, Medium)

  • package.json declared browserstack-local: ^1.0.0, resolving to <=1.5.8 (vulnerable; command injection via unsanitized logfile option).
  • Fix: narrowed to ^1.5.11. Lock now resolves 1.5.13 (latest 1.x). Clears the CVE and removes the dangerously broad 1.x range.

APS-19417 — EOL protractor pulls critical transitive CVEs (High) — INTERIM

  • Protractor ^5.4.4 is EOL (Aug 2023) and drags in json-schema <0.4.0 (GHSA-896r-f27r-55mw, critical) and minimist 1.0.0–1.2.5 (GHSA-xvch-5gv4-984h, critical).
  • Fix (interim): added npm overrides forcing json-schema >=0.4.0 and minimist >=1.2.6. Lock now resolves json-schema 0.4.0 and minimist 1.2.8.
  • Protractor itself is not removed/replaced here (migration is a separate sprint — APPSEC-409).
   "dependencies": {
-    "browserstack-local": "^1.0.0",
+    "browserstack-local": "^1.5.11",
     "protractor": "^5.4.4"
   },
+  "overrides": {
+    "json-schema": ">=0.4.0",
+    "minimist": ">=1.2.6"
+  },

Validation — npm audit before vs after (lock refreshed via npm install --package-lock-only)

Before After
Total 27 23
Critical 5 2
High 8 8
browserstack-local moderate (<=1.5.8) CLEARED (1.5.13)
json-schema critical (<0.4.0) CLEARED (0.4.0)
jsprim (depends on json-schema) critical CLEARED
minimist critical (1.0.0–1.2.5) CLEARED (1.2.8)

Critical set went from [form-data, json-schema, jsprim, minimist, request] -> [form-data, request]. The 3 targeted findings (browserstack-local, json-schema, minimist) plus jsprim are fully cleared.

Remaining form-data + request criticals are protractor's own deep transitive chain (protractor -> webdriver-manager -> request -> form-data) and cannot be cleared without removing protractor — that requires the APPSEC-409 migration and is out of scope for this interim fix.

Testing

  • npm install --package-lock-only refresh: PASS (exit 0); lock verified to resolve the bumped/overridden versions.
  • npm audit before/after: captured above; targeted CVEs cleared.
  • BLOCKED(protractor-EOL): a live sample-test run against BrowserStack was not executed — protractor 5.x's EOL toolchain (webdriver-manager + standalone selenium/chromedriver downloads) is not reliably runnable in this environment. The audit-clearing + lock verification is the security evidence per the remediation guidance.

Jira Tickets

Checklist

  • browserstack-local CVE cleared (1.5.13)
  • json-schema + minimist critical transitives cleared via overrides
  • Lock refreshed and verified
  • npm audit before/after captured
  • Live BrowserStack session (BLOCKED — protractor EOL toolchain)
  • protractor -> Playwright migration (follow-up, APPSEC-409)

…S-19415][APS-19417]

APS-19415 (browserstack-local command injection, GHSA-g4w6-c99w-4wh7):
- Narrow browserstack-local ^1.0.0 -> ^1.5.11; lock resolves 1.5.13.
  Clears the <=1.5.8 CVE and removes the dangerously broad 1.x range.

APS-19417 (EOL protractor pulls critical transitive CVEs) -- INTERIM:
- Add npm overrides forcing json-schema >=0.4.0 (GHSA-896r-f27r-55mw)
  and minimist >=1.2.6 (GHSA-xvch-5gv4-984h). Lock resolves
  json-schema 0.4.0 and minimist 1.2.8.
- This clears 3 critical findings (json-schema, jsprim, minimist).
- protractor itself remains EOL; full Playwright/WebdriverIO migration
  is a separate sprint (APPSEC-409), OUT OF SCOPE here.

npm audit: critical 5 -> 2, total 27 -> 23. The 2 remaining criticals
(form-data, request) are protractor's own deep transitive chain and
cannot be cleared without removing protractor.

Resolves: APS-19415, APS-19417

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Rohannagariya1 Rohannagariya1 requested a review from a team as a code owner June 11, 2026 19:58
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.

1 participant