ZeroHour

CVE-2026-90946

niche

Unauthenticated arbitrary file read in DeepWiki-Open /ws/chat WebSocket endpoint

CVSS 4.0
8.7 high
EPSS
Published
()
Modified
AI analysis

DeepWiki-Open, an open-source self-hosted code-wiki generator maintained by AsyncFuncAI, contains an arbitrary file read vulnerability (CWE-73) in its unauthenticated /ws/chat WebSocket endpoint through commit d92819a. The endpoint accepts a repo_url parameter that is treated as a filesystem path with no directory containment, so a remote attacker with no credentials can connect to the WebSocket and supply any directory path on the server. The application then ingests and returns the contents of all files in that path with supported extensions, including Python, JavaScript, YAML, and JSON files, which frequently contain hardcoded secrets, API keys, and credentials. Any self-hosted DeepWiki-Open instance running code up to and including commit d92819a that exposes the WebSocket endpoint is affected. There is no known public PoC, the flaw is not in CISA's KEV catalog, and no exploitation in the wild has been reported as of this analysis.

What to do: Upgrade immediately to a build newer than commit d92819a that enforces path containment on repo_url, and place the /ws/chat WebSocket endpoint behind authentication or an authenticated reverse proxy rather than exposing it publicly. Restrict the service's filesystem access (e.g., containerization with read-only mounts outside the intended repositories directory) to limit what any file-read primitive can reach. Finally, audit server logs for /ws/chat requests with repo_url values pointing to local directories outside expected repositories, and rotate any API keys, tokens, or credentials stored in .py, .js, .yaml, or . files on the host.

Affected
AsyncFuncAI DeepWiki-OpenAll versions through commit d92819a
Estimated exposure
nicheLikely on the order of hundreds to low thousands of self-hosted instances (clearly an estimate), with only a subset internet-exposed — DeepWiki-Open is a popular open-source GitHub project deployed by self-hosters, but there is no vendor telemetry or public scan data quantifying running or internet-exposed instances, so this is a rough order-of-magnitude estimate only.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

DeepWiki-Open through commit d92819a contains an arbitrary file read vulnerability in the unauthenticated /ws/chat WebSocket endpoint that accepts repo_url as a filesystem path with no containment. Attackers can supply arbitrary directory paths to read all files with supported extensions including Python, JavaScript, YAML, and JSON files containing hardcoded secrets and credentials.

Weakness
CWE-73
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.