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-errorhandler 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-errorhandler 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 browsernpm run test:browsercurl http://localhost:63315/__screenshot-error?file=/path/to/any/fileImpact
Users explicitly exposing the browser mode server to the network by
browser.api.host: truemay get any files exposed.References