Vitest browser mode serves arbitrary files
Package
Affected versions
>= 2.0.4, < 2.1.9
>= 3.0.0, < 3.0.4
Patched versions
2.1.9
3.0.4
Description
Published to the GitHub Advisory Database
Feb 4, 2025
Reviewed
Feb 4, 2025
Last updated
Feb 4, 2025
Summary
__screenshot-error
handler on the browser mode HTTP server that responds any file on the file system. Especially if the server is exposed on the network bybrowser.api.host: true
, an attacker can send a request to that handler from remote to get the content of arbitrary files.Details
This
__screenshot-error
handler on the browser mode HTTP server responds any file on the file system.https://github.com/vitest-dev/vitest/blob/f17918a79969d27a415f70431e08a9445b051e45/packages/browser/src/node/plugin.ts#L88-L130
This code was added by vitest-dev/vitest@2d62051.
PoC
npx vitest init browser
npm run test:browser
curl http://localhost:63315/__screenshot-error?file=/path/to/any/file
Impact
Users explicitly exposing the browser mode server to the network by
browser.api.host: true
may get any files exposed.References