{"id":2965,"date":"2026-09-04T04:59:21","date_gmt":"2026-09-03T20:59:21","guid":{"rendered":"https:\/\/www.54iter.cn\/?p=2965"},"modified":"2026-09-04T04:59:21","modified_gmt":"2026-09-03T20:59:21","slug":"cve-2026-84373","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-84373","title":{"rendered":"CVE-2026-84373 [MEDIUM] &#8211; Vitest is a testing framework powered by Vite. From 2.1.0 until 4.1.11 and 5.0.0-rc.2, the"},"content":{"rendered":"<p>Vitest is a testing framework powered by Vite. From 2.1.0 until 4.1.11 and 5.0.0-rc.2, the public mockerPlugin and standalone interceptorPlugin exports in packages\/mocker\/src\/node\/interceptorPlugin.ts register the vitest:interceptor:register handler on Vite&#8217;s unauthenticated HMR WebSocket without validating redirect targets against the file-serving allowlist. The implementation processes event.redirect without enforcing server.fs.allow and server.fs.deny through isFileLoadingAllowed. A remote client that can reach an exposed development server can submit an opaque URL scheme preserving .. segments, causing join(server.config.root, redirectUrl.pathname) to resolve outside the project root. The plugin&#8217;s load hook then returns readFile(mock.redirect, &#8216;utf-8&#8217;) as module source, disclosing local files readable by the dev-server process. Vitest browser mode uses a token-authenticated RPC and is not remotely unauthenticated by default, although the same boundary check was missing on that path. This issue is fixed in versions 4.1.11 and 5.0.0-rc.2.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vitest is a testing framework powered by Vite. From 2.1.0 until 4.1.11 and 5.0.0-rc.2, the public mockerPlugin and standalone interceptorPlugin exports in packages\/mocker\/src\/node\/interceptorPlugin.ts<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-2965","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/2965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}