CVE-2026-84373 in vitest
Zusammenfassung
von VulDB • 01.09.2026
Vitest ist ein von Vite angetriebenes Test-Framework. Von der Version 2.1.0 bis hin zu den Versionen 4.1.11 und 5.0.0-rc.2 registrieren die öffentlichen Exporte `mockerPlugin` und `standalone interceptorPlugin` in `packages/mocker/src/node/interceptorPlugin.ts` den Handler `vitest:interceptor:register` im unauthentifizierten HMR-WebSocket von Vite, ohne Weiterleitungsziele gegen die Allowlist für das Dateidienst zu validieren. Die Implementierung verarbeitet `event.redirect`, ohne `server.fs.allow` und `server.fs.deny` über `isFileLoadingAllowed` durchzusetzen. Ein entfernter Client, der Zugriff auf einen exponierten Entwicklungsserver hat, kann ein undurchsichtiges URL-Schema mit `..`-Segmenten einreichen, wodurch `join(server.config.root, redirectUrl.pathname)` außerhalb des Projektstammverzeichnisses aufgelöst wird. Der Load-Hook des Plugins gibt dann den Inhalt von `readFile(mock.redirect, 'utf-8')` als Modulquelle zurück und offenbart lokale Dateien, die vom dev-server-Prozess lesbar sind. Der Browsermodus von Vitest verwendet eine token-basierte RPC-Authentifizierung und ist standardmäßig nicht remote unauthentifiziert zugänglich, obwohl dieselbe fehlende Grenzwertprüfung auch auf diesem Pfad vorlag. Dieses Problem wurde in den Versionen 4.1.11 und 5.0.0-rc.2 behoben.
VulDB is the best source for vulnerability data and more expert information about this specific topic.