CVE-2026-112947 in Viteinfo

Summary

by MITRE • 10/20/2026

Vite is a frontend tooling framework for JavaScript. From 8.2.0 until 8.2.4 and 8.3.3, the first 4 bytes of files outside of server.fs setting can be returned to the browser by a request containing ?vite-wasm-instance. Requests containing the ?vite-wasm-instance query are handled by the internal Wasm plugin's load hook. The hook removes the query and reads the resulting path directly from disk, but the server.fs checks were not applied. After reading the file, Vite attempts to parse it as WebAssembly. When that parse fails, Node and deno throws an error that contains the first 4 bytes of the file. This vulnerability is fixed in 8.2.4 and 8.3.3.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 10/20/2026

Vite serves as a prominent frontend tooling framework designed to streamline JavaScript development by providing fast build times and hot module replacement capabilities. A critical security flaw was identified within specific versions of this framework, ranging from version 8.2.0 up to 8.2.4 and including version 8.3.3 prior to its patch release. This vulnerability stems from an improper implementation of file access controls when handling WebAssembly modules, specifically affecting files located outside the directories permitted by the server.fs configuration setting. The core issue arises during the processing of requests that include the query parameter ?vite-wasm-instance, which triggers a specific internal plugin responsible for loading WebAssembly resources.

The technical flaw lies in how the Wasm plugin's load hook processes these requests. When such a request is received, the hook strips the query parameter and proceeds to read the resulting file path directly from the disk without applying the necessary server.fs security checks that are typically enforced during standard static asset serving. This bypass allows an attacker or malicious script to access arbitrary files on the server's filesystem, provided they can construct a valid HTTP request targeting those paths. The vulnerability is not immediately exploitable for full file content disclosure because Vite attempts to parse every requested resource as WebAssembly code after reading it from disk.

The exploitation mechanism relies on the error handling behavior of the underlying JavaScript runtime environments, specifically Node.js and Deno. When the framework reads a non-WebAssembly binary or text file and attempts to parse it using the WebAssembly API, the operation fails because the content does not conform to the expected WASM format. In these specific versions, the resulting exception thrown by Node.js or Deno inadvertently includes the first four bytes of the raw file data in its error message stack trace or output. This behavior effectively creates a blind information disclosure vector where an attacker can retrieve small fragments of sensitive files, such as configuration keys, source code snippets, or other binary headers, simply by observing the server's response to malformed WebAssembly requests.

From a classification perspective, this vulnerability aligns with CWE-209, which describes the generation of error messages containing sensitive information that could be exploited by attackers. It also relates to CWE-552 regarding files or directories accessible to an unauthorized actor due to improper restrictions on file system access. In terms of offensive security frameworks like MITRE ATT&CK, this behavior facilitates Information Discovery through Local File Read techniques, allowing adversaries to gather intelligence about the server environment and potentially identify further attack vectors based on exposed configuration details or source code structures.

The operational impact of this vulnerability is primarily centered around information leakage rather than direct remote code execution or full system compromise. However, even small amounts of leaked data can be significant in a security context. Exposed file headers might reveal the presence of specific libraries, frameworks, or proprietary algorithms being used by the application. If sensitive configuration files are targeted, partial exposure could aid in subsequent attacks such as credential stuffing or privilege escalation if combined with other vulnerabilities. The risk is heightened in production environments where server.fs restrictions are intended to prevent any access outside defined public directories, making this bypass a direct violation of security boundaries established for safe asset serving.

Mitigation strategies focus on applying the vendor-provided patches immediately. Organizations running Vite versions 8.2.0 through 8.2.3 and version 8.3.3 must upgrade to patched releases such as 8.2.4 or later, where the server.fs checks are correctly applied before file reading operations occur within the Wasm plugin's load hook. For environments unable to patch immediately due to dependency constraints, temporary mitigations include restricting access to Vite development servers in production settings and ensuring that sensitive files are not stored in directories accessible via standard HTTP requests. Additionally, implementing strict input validation on query parameters and configuring runtime error handling to suppress detailed stack traces containing file contents can reduce the effectiveness of this information disclosure vector until a permanent fix is deployed.

Responsible

GitHub M

Reservation

10/19/2026

Disclosure

10/20/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you need the next level of professionalism?

Upgrade your account now!