-
Notifications
You must be signed in to change notification settings - Fork 44
Comparing changes
Open a pull request
base repository: browserstack/browserstack-cypress-cli
base: v1.36.5
head repository: browserstack/browserstack-cypress-cli
compare: v1.36.6
- 17 commits
- 4 files changed
- 7 contributors
Commits on Apr 16, 2026
-
fix(security): prevent command injection via cypress_config_file [APS…
…-18613] - Replace execSync() with execFileSync() in loadJsFile() to avoid shell interpolation of user-controlled cypress_config_filepath values - Pass NODE_PATH via env option instead of shell command prefix, which works cross-platform (Unix and Windows) without shell metacharacters - Add validateFilePath() defense-in-depth check that rejects paths containing shell metacharacters before they reach any exec call - Update unit tests to verify execFileSync is called with array args and to confirm command injection payloads are rejected Resolves: APS-18613
Configuration menu - View commit details
-
Copy full SHA for 6dbf8f9 - Browse repository at this point
Copy the full SHA 6dbf8f9View commit details
Commits on Apr 27, 2026
-
fix(security): allow Windows backslash paths and add file-not-found U…
…X [APS-18613] Address review feedback on PR #1080: - Remove backslash (\) from DANGEROUS_PATH_CHARS regex so legitimate Windows absolute/relative paths (C:\Users\..., .\subdir\..., \\server\share\...) are no longer rejected. Backslash is a path separator on Windows, not a shell metacharacter — and the actual security boundary is execFileSync (no shell invocation), not the regex. - Add an fs.existsSync() check inside loadJsFile() that throws a clear "Cypress config file not found at: <path>" error before invoking execFileSync. This is purely a UX improvement — existsSync alone would NOT prevent injection; the metacharacter regex + execFileSync remain the security guarantees. - Update unit tests: * Add positive tests for Windows-style absolute, Program-Files (with spaces), relative (.\subdir\...) and UNC (\\server\share\...) paths * Add a positive test in loadJsFile that exercises the same Windows paths end-to-end without throwing * Add a test for the new file-not-found path that confirms execFileSync is NOT invoked when the file is missing * Update existsSync call-count assertion from calledOnce to calledTwice (UX check + cleanup unlink) Resolves: APS-18613
Configuration menu - View commit details
-
Copy full SHA for 9bb1f6f - Browse repository at this point
Copy the full SHA 9bb1f6fView commit details -
Merge remote-tracking branch 'origin/master' into fix/APS-18613-comma…
…nd-injection-cypress-config
Configuration menu - View commit details
-
Copy full SHA for d2d1c21 - Browse repository at this point
Copy the full SHA d2d1c21View commit details
Commits on Apr 29, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 986f0d2 - Browse repository at this point
Copy the full SHA 986f0d2View commit details
Commits on May 4, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 6e5aaf5 - Browse repository at this point
Copy the full SHA 6e5aaf5View commit details
Commits on May 5, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 0fb6a7c - Browse repository at this point
Copy the full SHA 0fb6a7cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b4cb261 - Browse repository at this point
Copy the full SHA b4cb261View commit details -
Configuration menu - View commit details
-
Copy full SHA for edf2e19 - Browse repository at this point
Copy the full SHA edf2e19View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54b6f03 - Browse repository at this point
Copy the full SHA 54b6f03View commit details
Commits on May 7, 2026
-
fix(security): pin serialize-javascript to >=7.0.5 via npm overrides …
…[APS-18800] Fixes GHSA-5c6j-r48x-rmvq (RCE) and GHSA-qj8w-gfj5-8c6v (DoS) in the transitive serialize-javascript dependency pulled in by mocha. Uses npm's native `overrides` field — no third-party workarounds needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 21f71a0 - Browse repository at this point
Copy the full SHA 21f71a0View commit details
Commits on May 8, 2026
-
Merge pull request #1096 from browserstack/security/fix-serialize-jav…
…ascript-rce-aps-18800 [APS-18800] fix(security): upgrade serialize-javascript to 7.0.3 to fix RCE
Configuration menu - View commit details
-
Copy full SHA for 2a3e52d - Browse repository at this point
Copy the full SHA 2a3e52dView commit details
Commits on May 11, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 56e11ea - Browse repository at this point
Copy the full SHA 56e11eaView commit details
Commits on May 12, 2026
-
Merge pull request #1094 from browserstack/sdk-5709
Fix cy logs not appearing in dashboard for failing test
Configuration menu - View commit details
-
Copy full SHA for 6d2ac1a - Browse repository at this point
Copy the full SHA 6d2ac1aView commit details
Commits on May 13, 2026
-
Configuration menu - View commit details
-
Copy full SHA for e9f1fbc - Browse repository at this point
Copy the full SHA e9f1fbcView commit details -
Merge pull request #1080 from browserstack/fix/APS-18613-command-inje…
…ction-cypress-config [APS-18613] fix: prevent command injection via cypress_config_file in loadJsFile
Configuration menu - View commit details
-
Copy full SHA for 8884dc3 - Browse repository at this point
Copy the full SHA 8884dc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59b1bcb - Browse repository at this point
Copy the full SHA 59b1bcbView commit details -
Merge pull request #1101 from browserstack/revert-1096-security/fix-s…
…erialize-javascript-rce-aps-18800 Revert "[APS-18800] fix(security): upgrade serialize-javascript to 7.0.3 to fix RCE"
Configuration menu - View commit details
-
Copy full SHA for 40517f3 - Browse repository at this point
Copy the full SHA 40517f3View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.36.5...v1.36.6