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
Published by the National Vulnerability Database
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