CVE-2026-109823: Host filesystem path disclosure via DNS rebinding
Advisory generated from the CVE record, CISA, Exploit Observer and VEDAS: what it is, whether it is exploited, who is affected, and how to fix and detect it.
Generated by VEDAS. Scores as of 2026-11-01 19:19 UTC. Rebuilt every few hours from cve-scores, CISA KEV and vedas-signatures. How this works and its limits.
What it is
An attacker can read the name of filesystem paths of your application present via Tidewave configuration via /tidewave/connect or via the rendered toolbar. Neither response checks the Host header. A web page that rebinds its own domain to the loopback address can therefore read the tag with a same-origin request, which carries no Origin header. The paths usually reveal the local username and the project layout. This issue affects tidewave: from 0.8.0 before 0.9.2.
Description quoted from the CVE record (assigned by EEF, published 2026-10-27).
Weakness: CWE-497 Exposure of Sensitive System Information to an Unauthorized Control Sphere
How it can be exploited
Exploitable over the network with low attack complexity only when specific conditions are present needing no privileges and a user must take an action. Impact: confidentiality low, integrity none, availability none. CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Public exploit evidence (Exploit Observer)
Also known as: GHSA-cw46-9gf7-56p5
VEDAS cluster: VEDAS:DRACOFLAME
Exploit Observer links 5 pieces of public exploit code or detection modules that name this CVE or one of its aliases.
Exploit code and modules (5)
Code that names this CVE. A repository can be a working exploit, a scanner, a fake or malware; read it before running anything.
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/nuclei/2026/CVE-2026-109823.yaml
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/nuclei/2026/CVE-2026-109823.yaml
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/suricata/2026/CVE-2026-109823.rules
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/suricata/2026/CVE-2026-109823.rules
- Code repository: https://raw.githubusercontent.com/ARPSyndicate/vedas-signatures/main/suricata/2026/CVE-2026-109823.rules
Research and write-ups (1)
- Research or write-up: https://cna.erlef.org/cves/CVE-2026-109823.html
Vulnerability databases and vendor advisories (4)
Catalogue entries, not exploit evidence.
- Vulnerability database or vendor advisory: https://github.com/advisories/GHSA-cw46-9gf7-56p5
- Vulnerability database or vendor advisory: https://nvd.nist.gov/vuln/detail/CVE-2026-109823
- Vulnerability database or vendor advisory: https://osv.dev/vulnerability/EEF-CVE-2026-109823
- Vulnerability database or vendor advisory: https://osv.dev/vulnerability/EEF-CVE-2026-109823
3 more references returned by Exploit Observer did not name this CVE or an alias, so they are left out.
VEDAS data as of 2026-11-01T17:12 UTC; fetched 2026-11-02.
Live scores
- EPSS
- 0.004
low predicted chance of attack - VEDAS
- 0.987
strong exploit evidence - On CISA KEV
- Not listed
Who is affected
| Product | Affected | Not affected |
|---|---|---|
| tidewave-ai tidewave | from 0.8.0 before 0.9.2 | Not stated |
| tidewave-ai tidewave (tidewave-ai/tidewave_phoenix) | from f78352b56d19 before 80159536f752 (git commit) | Not stated |
Version ranges exactly as the CVE record states them. “Before X” means X is the first fixed version.
How to fix it
Fixed versions stated in the CVE record: 0.9.2.
Vendor guidance:
How to detect it
Nuclei template (active check)
Tidewave for Phoenix - Unauthenticated Project Path Disclosure
Tidewave for Phoenix (tidewave from 0.8.0 before 0.9.2) serves its configuration endpoint without validating the Host header, so any caller that can reach the server (including a DNS-rebinding page whose same-origin request carries no Origin header) can read the Tidewave configuration. The JSON envelope returned by GET /tidewave/config discloses the server-side temporary directory (tmp_dir), the project name and framework type, which reveal the local username and project layout. This template issues an unauthenticated GET /tidewave/config and confirms the path-disclosing configuration envelope, whose tmp_dir field is removed in the fixed 0.9.2 release.
Name and description quoted from the template, written by VEDAS.
The template sends 1 request (GET /tidewave/config); it decides using status, word matchers. Severity in the template: low. Marked as not yet verified against a live vulnerable target.
Run it against a host you own or are authorised to test:
nuclei -u https://your-host -t CVE-2026-109823.yamlShow the template (50 lines)
id: CVE-2026-109823
info:
name: "Tidewave for Phoenix - Unauthenticated Project Path Disclosure"
author: vedas-arpsyndicate
severity: low
description: |
Tidewave for Phoenix (tidewave from 0.8.0 before 0.9.2) serves its configuration
endpoint without validating the Host header, so any caller that can reach the server
(including a DNS-rebinding page whose same-origin request carries no Origin header)
can read the Tidewave configuration. The JSON envelope returned by GET /tidewave/config
discloses the server-side temporary directory (tmp_dir), the project name and framework
type, which reveal the local username and project layout. This template issues an
unauthenticated GET /tidewave/config and confirms the path-disclosing configuration
envelope, whose tmp_dir field is removed in the fixed 0.9.2 release.
reference:
- https://www.exploit.observer/?keyword=CVE-2026-109823&match=exact
- https://subdomain.center/?engine=ammonites&keyword=tidewave&match=exact
classification:
cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
cve-id: CVE-2026-109823
cwe-id: CWE-497
metadata:
verified: false
tags: cve,cve2026,tidewave,phoenix,exposure,info-leak
http:
- raw:
- |
GET /tidewave/config HTTP/1.1
Host: {{Hostname}}
Accept: application/json
matchers-condition: and
matchers:
- type: word
part: body
words:
- "\"framework_type\""
- "phoenix"
- "\"tidewave_version\""
- "\"project_name\""
- "\"tmp_dir\""
condition: and
- type: word
part: header
words:
- "application/json"
- type: status
status:
- 200
CVE-2026-109823.yaml on GitHub
Suricata rules (network detection)
1 rule that alert on traffic matching this exploit: VEDAS CVE-2026-109823 Tidewave for Phoenix - Unauthenticated Project Path Disclosure. Add them to your Suricata rule set and reload.
Show the rules
alert http $HTTP_SERVERS $HTTP_PORTS -> $EXTERNAL_NET any (msg:"VEDAS CVE-2026-109823 Tidewave for Phoenix - Unauthenticated Project Path Disclosure"; flow:established,to_client; http.response_body; content:"\"tidewave_version\""; nocase; fast_pattern; content:"\"framework_type\""; nocase; content:"\"tmp_dir\""; nocase; content:"phoenix"; nocase; classtype:successful-recon-limited; reference:cve,CVE-2026-109823; reference:url,https://www.exploit.observer/?keyword=CVE-2026-109823&match=exact; reference:url,https://subdomain.center/?engine=ammonites&keyword=tidewave&match=exact; sid:1089400; rev:1;)
CVE-2026-109823.rules on GitHub
References
Vendor advisories and patches
Exploits and technical analysis
- EEF CNA record for CVE-2026-109823 (related, third-party-advisory)
Other references
- OSV record EEF-CVE-2026-109823 (related)
- Introducing commit f78352b in tidewave-ai/tidewave_phoenix (related)
Other databases
Where this comes from
This advisory is generated automatically by VEDAS from: CVE.org record, cve-scores (EPSS and VEDAS), Exploit Observer, vedas-signatures. Text in quotes is reproduced from the source; everything else is a fixed template filled with source fields. Nothing here is written by a language model. Check the vendor advisory before acting, and read how VEDAS and Exploit Observer work, and their limits.