__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 by browser.api.host: true
, an attacker can send a request to that handler from remote to get the content of arbitrary files.
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 https://github.com/vitest-dev/vitest/commit/2d62051f13b4b0939b2f7e94e88006d830dc4d1f.
npx vitest init browser
npm run test:browser
curl http://localhost:63315/__screenshot-error?file=/path/to/any/file
Users explicitly exposing the browser mode server to the network by browser.api.host: true
may get any files exposed.
{ "nvd_published_at": "2025-02-04T20:15:50Z", "cwe_ids": [ "CWE-22" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2025-02-04T16:51:08Z" }