Skip to content

Security: Fix CVE-2024-21538 (cross-spawn) - #22

Closed
vmrh21 wants to merge 1 commit into
test/workflow-cve-41174from
fix/cve-2024-21538-cross-spawn-attempt-1
Closed

vmrh21 wants to merge 1 commit into
test/workflow-cve-41174from
fix/cve-2024-21538-cross-spawn-attempt-1

Conversation

@vmrh21

@vmrh21 vmrh21 commented Feb 19, 2026

Copy link
Copy Markdown
Owner

Date: 2026-02-19

Summary

This PR fixes CVE-2024-21538 by adding an npm override to force cross-spawn to version 7.0.6 across all dependencies.

CVE Details

  • CVE ID: CVE-2024-21538
  • Package: cross-spawn
  • Severity: HIGH (CVSS 7.5)
  • Impact: Regular Expression Denial of Service (ReDoS) in argument parsing
  • Attack Vector: Processing malicious command-line arguments
  • Vulnerable versions: <6.0.6 || >=7.0.0 <7.0.5
  • Fixed version: 7.0.6
  • Jira Issues: RHOAIENG-15602, RHOAIENG-15601, RHOAIENG-15600, RHOAIENG-15596, RHOAIENG-15598, RHOAIENG-15599, RHOAIENG-15597, RHOAIENG-17795

Test Results

Status: ✅ All tests passed

Tests discovered: Yes
Test command: npm test
Result: PASSED
Duration: ~30s

Test Summary
  • Total: 30 tests
  • Passed: 30
  • Failed: 0
  • Skipped: 0

Backend: All type checks passed
Frontend: 4 test suites passed

Changes Made

  • Added npm override: "cross-spawn": "^7.0.6" in root package.json
  • Updated all monorepo lock files (root, backend, frontend)
  • No application code changes required

Breaking Changes

None - this is a pure security patch with no API changes. Version 7.0.6 is backward compatible with 7.0.x.

Testing Checklist

  • Pre-PR automated tests executed and passed
  • Verified cross-spawn@7.0.6 installed via npm list cross-spawn
  • Confirmed CVE-2024-21538 no longer in npm audit
  • Build successful
  • All test suites passed
  • Manual testing (if applicable)

Risk Assessment

Risk Factor Level Notes
Breaking Changes None Security patch only
Dependency Impact Low Used by test runners and build tools
Regression Risk Low No code changes, all tests pass

Verification Steps

  1. Verify CVE resolved:

    npm audit | grep CVE-2024-21538
    # Should return no results
  2. Verify cross-spawn version:

    npm list cross-spawn
    # Should show 7.0.6
  3. Run tests:

    npm test
    # All tests should pass

References


🤖 Generated by CVE Fixer Workflow

- Add npm override for cross-spawn ^7.0.6 to fix CVE-2024-21538
- Update all lock files in monorepo (root, backend, frontend)
- Resolves RHOAIENG-15602, RHOAIENG-15601, RHOAIENG-15600, RHOAIENG-15596, RHOAIENG-15598, RHOAIENG-15599, RHOAIENG-15597, RHOAIENG-17795

CVE Details:
- CVE ID: CVE-2024-21538
- Package: cross-spawn
- Severity: HIGH (CVSS 7.5)
- Impact: Regular Expression Denial of Service (ReDoS)
- Vulnerable versions: <6.0.6 || >=7.0.0 <7.0.5
- Fixed version: 7.0.6

Files Changed (4 total):
- package.json (added overrides)
- package-lock.json
- backend/package-lock.json
- frontend/package-lock.json

Breaking Changes:
- None (security patch only)

Testing:
- Verified cross-spawn@7.0.6 via npm list
- Confirmed CVE no longer in npm audit
- All tests passed (30 passed, 0 failed)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@vmrh21 vmrh21 closed this Feb 23, 2026
@vmrh21
vmrh21 deleted the fix/cve-2024-21538-cross-spawn-attempt-1 branch February 25, 2026 19:52
angaduom pushed a commit to angaduom/odh-dashboard that referenced this pull request Oct 8, 2026
* Update @odh-dashboard/notebooks: chore: bump frontend Node.js from 20 to 24 LTS (opendatahub-io#1174) (resolved conflicts)

Upstream commit: b0cc3e0b74567f8ea33698a4ae0b2ee6380c141b

* Update @odh-dashboard/notebooks tracking to fd239ccf4d0bcd39b63ca40489a158dba035b902 (no file changes)

* Update @odh-dashboard/notebooks: chore: Move the development guide into `./developing` (#1216)

Upstream commit: 57bc9a493f7b79078659cbfadf641bd1bf96900f

* Update @odh-dashboard/notebooks: fix: add guard against concurrent execution in DeleteModal (opendatahub-io#1088)

Upstream commit: a0c7a95df2e6e2b764894ff7b98811bec36fb4b8

* Update @odh-dashboard/notebooks: feat: add Delete action to WorkspaceKinds page (opendatahub-io#1211)

Upstream commit: 6cf667d7bca3aef40203b751e6520e20cdb24ed6

* Update @odh-dashboard/notebooks: chore: integrate prometheus in tilt (opendatahub-io#1140) (resolved conflicts)

Upstream commit: f3d8b803dc74366d98d197960c23986d133d9298

* Update @odh-dashboard/notebooks: chore: upgrade golangci-lint to v2.12.2 and address new lint errors (#998) (resolved conflicts)

Upstream commit: 9d814d20345edcc38a0fdbabc26371c7d547fa57

* Update @odh-dashboard/notebooks: feat: Allow Admin to Edit WorkspaceKind Via Yaml (opendatahub-io#1171) (resolved conflicts)

Upstream commit: a5c5a449893a5c087380e8c59e41a5c97036cb2b

* Update @odh-dashboard/notebooks: feat: UI improvements for WorkspaceForm and WorkspaceTable (opendatahub-io#1219) (resolved conflicts)

Upstream commit: f1a358d1ed0ad04ba8409d6b0f11d66528d8a639

* Update @odh-dashboard/notebooks: improve: Replace WorkspaceKind culling config with activityProbe schema (#1130)

Upstream commit: e51895dd4ba0bd43748b20b48b785d3b6dbd39ca

* Update @odh-dashboard/notebooks: chore: Bump actions/checkout from 6.0.2 to 7.0.0 (#1217)

Upstream commit: e050308c3848ff4d1c8e08491fe6883d4040d66c

* Update @odh-dashboard/notebooks: chore: Bump actions/setup-go from 6.4.0 to 6.5.0 (opendatahub-io#1227)

Upstream commit: f894670e5fd4098d9aebc8f433905f8ce2155f52

* Update @odh-dashboard/notebooks: chore: Bump the docker-actions group across 1 directory with 5 updates (opendatahub-io#1237)

Upstream commit: 6bc64e9ecd4d6f468cf2f93f7f6a5fb017a44df4

* Update @odh-dashboard/notebooks: chore: Bump dorny/paths-filter from 4.0.1 to 4.0.2 (#1236) (resolved conflicts)

Upstream commit: 860fe3be6f7fbcc44609167c329d9f6add8c3f96

* Update @odh-dashboard/notebooks: feat: integrate metrics-server in tilt (opendatahub-io#1228)

Upstream commit: af3750e652a07bfd59b359ba3bb209f5d43239d7

* Update @odh-dashboard/notebooks: fix: Fixup shebang validation for the activity probe (#1250)

Upstream commit: 7bb3e52631e0361bfc59aa7b5447643937902f42

* Update @odh-dashboard/notebooks: feat: implement `podtemplate` details endpoint for workspace overlay (#1119)

Upstream commit: 3f1d7ec5c99674dea0f3aa68b71c470934268153

* Update @odh-dashboard/notebooks: feat: add restrictions attribute to WorkspaceKind and option value responses (#1235) (resolved conflicts)

Upstream commit: b3bbff1fca483005af30427ec55975ff6d155138

* Update @odh-dashboard/notebooks: feat: implement secret mgmt apis (opendatahub-io#955)

Upstream commit: b589c5f9533428ce1de47c253d14ce83b7c9a7f0

* Update @odh-dashboard/notebooks tracking to ae80c33a400ac008deb3349915e5301226c24c4f (no file changes)

* Update @odh-dashboard/notebooks: refactor: Enable 'modernize' linter (#1246) (resolved conflicts)

Upstream commit: f1192ce2b6065c38b3b8559c767f55e8aede2cd9

* Update @odh-dashboard/notebooks: feat: Add activityRules schema to WorkspaceKind CRD (#1239)

Upstream commit: 10c1c9ca98e86c406f4c04a3a875583e220a28ee

* Update @odh-dashboard/notebooks: fix: Avoid activityRules webhook warning in jupyterlab sample (#1266)

Upstream commit: 5db44d8eec27f4ebfb62e177d96858e8ce5d66d5

* Update @odh-dashboard/notebooks: chore: Bump actions/setup-node from 6.4.0 to 7.0.0 (opendatahub-io#1262)

Upstream commit: c3ac113ca7d67c50dadb1ffc5f12527246a75624

* Update @odh-dashboard/notebooks: feat: Add activity status fields to Workspace CRD (opendatahub-io#1264)

Upstream commit: 1a28c6eb80134561b8dd345210ee256380ee9d49

* Update @odh-dashboard/notebooks: chore: Bump actions/setup-go from 6.5.0 to 7.0.0 (#1271)

Upstream commit: bd2bbf575950add52d7ea5094f746391c7bb8893

* Update @odh-dashboard/notebooks: chore: WorkspaceKind Edit UI improvements (#1238) (resolved conflicts)

Upstream commit: 4c7bf8d2557124ba5de824018409fceb069016ac

* Update @odh-dashboard/notebooks: fix: default Workspace state to Unknown in WorkspaceTable (#1260) (resolved conflicts)

Upstream commit: 94f1ab40d55841628b9d203d3816adc73cd048a9

* Update @odh-dashboard/notebooks: feat: add redirect/hidden confirmation modal to workspace form (#1254)

Upstream commit: 7742dd40277c1618703d1f4efe8a627651540359

* Update @odh-dashboard/notebooks: chore: Generate new client and refactor culling property in WorkspaceKind Form (#1272) (resolved conflicts)

Upstream commit: d51c5531b8130a8a7cbd69f071fdb5b5a7e370e6

* Update @odh-dashboard/notebooks: chore: Generate client to include restrictions and new Secret types (#1275) (resolved conflicts)

Upstream commit: 937e73b8887494c37f9048f0120e4f0841eb7ea5

* Update @odh-dashboard/notebooks: chore: integrate podtemplate/details endpoint into frontend (#1278) (resolved conflicts)

Upstream commit: 13f240a38962ef1a3276501fe8d002aab21bb712

* Update @odh-dashboard/notebooks: feat: add display name support for workspaces (#940)

Upstream commit: 1b90a808a43658b0e3e239ce1c09d51afa37502d

* Update @odh-dashboard/notebooks: fix: set restricted PSS sample context (#1229)

Upstream commit: a957993eeb4eabbb927d70cff88ae484198c610a

* Update @odh-dashboard/notebooks: chore: Bump actions/checkout from 7.0.0 to 7.0.1 (#1276)

Upstream commit: 5ee304a0f0aee1411f05e26bae3385c2a1b60582

* Update @odh-dashboard/notebooks: chore: Bump docker/login-action from 4.4.0 to 4.5.1 in the docker-actions group across 1 directory (#1288)

Upstream commit: d802faa1951b4f615a2454528c024ae8c6460af4

* Update @odh-dashboard/notebooks: feat: Add filterRules schema to WorkspaceKind CRD (#1263)

Upstream commit: 7ed141512438a8e7556f264817f832b375940d4b

* Update @odh-dashboard/notebooks: chore: add consistent clean targets to Makefiles (#1297)

Upstream commit: 43048af7d3293ee216b642341ee14c7380f8a03c

* Update @odh-dashboard/notebooks: feat: slim down GET /workspaces payload and remove unused types (opendatahub-io#1253) (resolved conflicts)

Upstream commit: 97159cbd6d1e4a671c5c078d83fa9bd678741813

* Update @odh-dashboard/notebooks: chore: upgrade Go to 1.26.5 in backend and controller (#1281) (resolved conflicts)

Upstream commit: 7d195f4f89fbd394e5420fe01dd8668d65970fa3

* Update @odh-dashboard/notebooks: feat: implement core metrics provider for workspace resource usage (#1241) (resolved conflicts)

Upstream commit: 8111a9eaa1750eb092c9e91059bc9c69bc56878c

* Update @odh-dashboard/notebooks: feat: Implement activity rules in backend API (#1292) (resolved conflicts)

Upstream commit: 062754ca5b415a6009ab7dfc7ecae1606333657e

* Update @odh-dashboard/notebooks: chore: remove serviceAccount.name from WorkspaceKind CRD (#1307) (resolved conflicts)

Upstream commit: 8e468f4cce0084a9da01c46e1f6fa4961beaf4c2

* Update @odh-dashboard/notebooks: feat: add gzip/zstd response compression to backend (#1269) (resolved conflicts)

Upstream commit: 5699527baaf066b41d3c44f2cf6896f2d29f21f3

* Update @odh-dashboard/notebooks: chore: regenerate frontend API client (opendatahub-io#1314) (resolved conflicts)

Upstream commit: 97eea680d56f376841a77c0e5e35d9e9b5c158ce

* Update @odh-dashboard/notebooks: feat: implement endpoint to support fetching workspace pod log (#1267)

Upstream commit: 8c4881424be902164866a4d2076c46be4321c3e2

* Update @odh-dashboard/notebooks: feat: Denied Workspace kinds should be disabled and unselectable in W… (#1317)

Upstream commit: 868edfdd3873580e4aea798736a93846790178fe

* Update @odh-dashboard/notebooks: feat: grey out label filter values with no matching visible results (#1284)

Upstream commit: ba67dbfb0ea379a69d9eeb742b25d07eee3df3a3

* Update @odh-dashboard/notebooks: feat: Add pauseWorkspace activity rule info to workspace table and details (#1326)

Upstream commit: e82efa7730613b4285efee4c4db4e88e59bbd1ae

* Update @odh-dashboard/notebooks: feat: viewing logs in frontend details view (#1310) (resolved conflicts)

Upstream commit: 7e14c10aa656ea527962d212aba515608078319b

* Update @odh-dashboard/notebooks: feat: expose activityRules in WorkspaceKind PUT endpoint (#1320) (resolved conflicts)

Upstream commit: 07a611c3884ab205544bd3815776ce6399b36608

* Update @odh-dashboard/notebooks tracking to 4275c8f076ed7bb2b079ecbf0a90fc167c7c5eb8 (no file changes)

* Update @odh-dashboard/notebooks tracking to 6c397adbe5ccc52a55dcebe6a78c1874894a5178 (no file changes)

* Update @odh-dashboard/notebooks: feat: add activity rules section to WorkspaceKind form (#1283) (#1300)

Upstream commit: 3aa3d08c92b3b60b7ab640815256eb7de2b9369c

* Update @odh-dashboard/notebooks: feat: make workspace name clickable to open details drawer (#1331)

Upstream commit: 0409c8f5ff2ad0ff25b07a0de98a22a98d5e008a

* Update @odh-dashboard/notebooks: feat: skip dropdown for single connect endpoint (#1332)

Upstream commit: 22a3468d8f417576fdb5d49eccd2d4315bff7275

* Update @odh-dashboard/notebooks: feat: Add validating rules for Workspace name input (#1335)

Upstream commit: 14d3cf3bf34a57adfb288c572b1b244bfda79ce0

* Update @odh-dashboard/notebooks: feat: give each Workspace its own ServiceAccount (#1311) (resolved conflicts)

Upstream commit: 9304a4868c4b996483dd7a006f7c1403ef4a22e3

* Update @odh-dashboard/notebooks tracking to 6c397adbe5ccc52a55dcebe6a78c1874894a5178 (no file changes)

* Update @odh-dashboard/notebooks: feat: implement activity rules in controller (opendatahub-io#1279) (resolved conflicts)

Upstream commit: 1e9e466f21bbf5896e638ad868e98d27b6bd630a

* Update @odh-dashboard/notebooks tracking to 6c397adbe5ccc52a55dcebe6a78c1874894a5178 (no file changes)

* Update @odh-dashboard/notebooks: feat: Implement filterRules evaluation for /listvalues API (#1315) (resolved conflicts)

Upstream commit: 2ce2d601db09ef485152942af7440e965f5d7594

* Update @odh-dashboard/notebooks tracking to 6c397adbe5ccc52a55dcebe6a78c1874894a5178 (no file changes)

* Update @odh-dashboard/notebooks: refactor: convert WorkspaceSpec.Paused from *bool to bool (#1302)

Upstream commit: a02dbc64586c41c8968cf864a9e3ff46bd59ed1c

* Update @odh-dashboard/notebooks: docs: improve documentation in sample files (opendatahub-io#1339)

Upstream commit: 1b8aee3a54c59fec301feff3abaf1b580772f745

* Update @odh-dashboard/notebooks: fix: inject kubeflow-userid header for Swagger UI "Try it out" (#1270)

Upstream commit: bbeb6a75d0a159000cf525a003775a0e543e5d72

* Update @odh-dashboard/notebooks: chore: Release v2.0.0-beta.0 (#1340)

Upstream commit: 3ebd2e4f543a9ead1ae98fcf69f661a94d284e16

* Update @odh-dashboard/notebooks: fix: restore ODH paths after Kubeflow v2.0.0-beta.0 merge (resolved conflicts)

Upstream commit: 4c49273c79d0a34f99d96735b4e928d9572bad82

* Update @odh-dashboard/notebooks: chore: tidy the go modules (resolved conflicts)

Upstream commit: a69f90a844a0e2e291bbd3431c403343e9994f6b

* Update @odh-dashboard/notebooks: Early-gate: add early-gate CI pipelines

Upstream commit: 321ecaed59fc2b163724db5d734c45cace525d81

* Update @odh-dashboard/notebooks: fix: pin k8s modules so controller-runtime typecheck passes (resolved conflicts)

Upstream commit: cc1ac8e1d806b9e6d8b5606f1a69193f5fe42ef6

* Update @odh-dashboard/notebooks tracking to 321ecaed59fc2b163724db5d734c45cace525d81 (no file changes)

* Update @odh-dashboard/notebooks: fix: unblock backend lint and RoleBinding helper tests

Upstream commit: 61ca4ef5ea58a575c361a8235eb52c5d5609bedb

* Update @odh-dashboard/notebooks: feat(backend): add TLS server support for federated dashboard deployment

Upstream commit: c394e2365c8e1c2032d479103775250d2da3df2f

* Update @odh-dashboard/notebooks: fix: grant gateway RBAC for auth-delegator CRBs (vmrh21#22)

Upstream commit: 5c2d349bd25feaf6ba8cfc2d6f274a4e9cb5cc86

* Update @odh-dashboard/notebooks: fix: enable monaco editor for WorkspaceKind edit for Mod Arch

Upstream commit: 218485d806d1a6631673e689cf36b0f9ef5f3dd9

* Update @odh-dashboard/notebooks: fix(controller): drop redundant tokenreviews/SAR from gateway RBAC

Upstream commit: affda3d757065d122cf2060847df5a95604db4e8

* Post-sync fixes: replace stale intermediate-commit files with upstream target

Files stuck at intermediate commit states during patch-based sync have been
replaced with their final upstream target versions at a222821.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Update @odh-dashboard/notebooks: Fix StatefulSet reconcile loop when KubeGateway is enabled. (resolved conflicts)

Upstream commit: a3ee3544d65d4b170c010dee5d62fa9fbf8fa48a

* Update @odh-dashboard/notebooks: Fix workspace service reconcile overwriting kube-rbac-proxy Service.

Upstream commit: 39ecf22e24b6f1f9d8b519d2c8fb9910a48a8631

* Update @odh-dashboard/notebooks: chore: sync security config files from security-config

Upstream commit: 43a9fcbb80402e361192c6afebdd36b19bda7973

* Update @odh-dashboard/notebooks: fix(notebooks): resolve mandatoryNamespace from router state in standalone route (resolved conflicts)

Upstream commit: f40aaaf8f13528ac60581841c9510692831a74b8

* Update @odh-dashboard/notebooks: feat: enable SecureServing, TLS profile watcher, and RBAC overlay

Upstream commit: 9b6053297ae642ff3e9cd4057934ee357b4392cd

* Update @odh-dashboard/notebooks: chore(konflux): align main-branch Tekton pipelines with kubeflow

Upstream commit: 0b1dba6bdb5ff0a57e516e0f28f8efcb20ab90e6

* Update @odh-dashboard/notebooks: fix(notebooks): add user_token auth mode for bearer-forwarded identity (resolved conflicts)

Upstream commit: 4d37e0a68ff1d01d030a7438c3dd50de996d3d14

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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