9.8 CRITICAL
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): High (H)
- Availability (A): High (H)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): High (H)
- Modified Availability (MA): High (H)
by @LeSuisse Activity log
- Created suggestion
- @LeSuisse dismissed (not in Nixpkgs)
Vitest: Exposed Browser Mode API Can Proxy CDP and Overwrite Config Files, Leading to RCE
Vitest is a testing framework powered by Vite. From 3.0.0 until 3.2.5, 4.1.8, and 5.0.0-beta.4, Vitest Browser Mode exposed a cdp() API that forwarded raw Chrome DevTools Protocol methods without being gated by allowWrite or allowExec, allowing a remote client with exposed browser API metadata to use CDP Page.setDownloadBehavior and Runtime.evaluate to overwrite vite.config.ts and execute attacker-controlled Node.js code. This issue is fixed in versions 3.2.5, 4.1.8, and 5.0.0-beta.
References
-
https://github.com/vitest-dev/vitest/security/advisories/GHSA-g8mr-85jm-7xhm x_refsource_CONFIRM
-
https://github.com/vitest-dev/vitest/pull/10444 x_refsource_MISC
-
https://github.com/vitest-dev/vitest/pull/10450 x_refsource_MISC
-
https://github.com/vitest-dev/vitest/pull/10456 x_refsource_MISC
-
https://github.com/vitest-dev/vitest/releases/tag/v3.2.5 x_refsource_MISC
-
https://github.com/vitest-dev/vitest/releases/tag/v4.1.8 x_refsource_MISC
-
https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.4 x_refsource_MISC
Affected products
- ==>= 4.0.0, < 4.1.8
- ==>= 5.0.0-beta.0, < 5.0.0-beta.4
- ==>= 3.0.0, < 3.2.5