Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-90946 – Unauthenticated Arbitrary File Read via WebSocket – DeepWiki-Open (through commit d

Be the first to know when new zero-days emerge:

Summary

CVE-2026-90946 is an arbitrary file read vulnerability in DeepWiki-Open, an open-source AI-powered wiki generator for code repositories, affecting all versions through commit d92819a. The flaw resides in the unauthenticated /ws/chat WebSocket endpoint, which accepts a repo_url parameter and treats any value that does not start with http:// or https:// as a local filesystem path — with no containment or validation. A remote, unauthenticated attacker can point this parameter at an arbitrary directory on the host and have the application index and return the contents of every supported source, configuration, and document file within it, exposing hardcoded secrets and other sensitive data.

Technical details

  • Root cause: The /ws/chat WebSocket handler (api/repository.py, with related logic in api/data_pipeline.py) does not validate or restrict the repo_url parameter. Any value not prefixed with http:// or https:// is treated as a literal local filesystem path.
  • Trigger conditions: The endpoint is exposed without authentication by default, since DeepWiki-Open’s auth mode is disabled out of the box; the server also commonly binds to 0.0.0.0 with a wildcard CORS policy (allow_origins=["*"]), making the endpoint reachable from the network with no credentials.
  • Attack vector: An attacker sends a crafted WebSocket message to /ws/chat specifying an absolute server-side path (e.g., {"repo_url": "/home/appuser/app", "type": "local", "messages": [...]}). The server walks the specified directory tree and indexes every file with a supported extension (.py, .js, .ts, .go, .json, .yaml, etc.), then returns file contents through the retrieval-augmented chat interface.
  • Impact: Full-read disclosure of arbitrary files reachable by the application process, including source code, configuration files, and hardcoded credentials or API keys — with no authentication required (CWE-73: External Control of File Name or Path).

Affected software

  • AsyncFuncAI deepwiki-open — all versions/commits up to and including commit d92819a

Severity

  • CVSS v3.1 Base Score: 7.5 (High) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • CVSS v4.0 Score (as scored by the reporting advisory): 8.7 (High) — 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

Mitigation and recommended actions

  • Immediate: No official vendor patch has been identified for this issue as of publication. Do not expose DeepWiki-Open’s /ws/chat WebSocket endpoint, or the application as a whole, to untrusted networks.
  • Workarounds / network mitigations:
    • Enable and enforce authentication on all ingestion/chat endpoints (do not rely on the default configuration, which disables auth mode).
    • Bind the service to 127.0.0.1 or an internal-only interface rather than 0.0.0.0, and place it behind an authenticated reverse proxy if network access is required.
    • Replace wildcard CORS (allow_origins=["*"]) with an explicit allowlist of trusted origins.
    • Restrict local repository ingestion to a single operator-configured root directory, rejecting absolute paths and path traversal sequences before any filesystem access occurs.
    • Audit any existing DeepWiki-Open deployment for exposure and rotate any credentials or secrets that may have resided in files reachable by the application process.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge