CVE-2026-47725 nebula-mesh: Web UI lacks CSRF tokens on /ui/* mutating endpoints
Attackers can force authenticated users to perform unwanted actions on the nebula-mesh web interface due to missing CSRF tokens on mutating endpoints.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-47725?
CVE-2026-47725 is a medium-severity vulnerability in juev nebula-mesh, published on 28 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
nebula-mesh is a self-hosted control plane for Slack Nebula mesh virtual private network. Prior to version 0.3.3, every /ui/* POST / PUT / PATCH / DELETE route processes the request as soon as the session cookie validates. SameSite=Lax on the session cookie prevents most cross-site form submits but does not protect: top-level form-submit navigations from third-party pages (some browsers still send Lax cookies on top-level POSTs); same-registrable-domain attackers (sibling-subdomain XSS, subdomain takeover); the GET /ui/logout route, which a third-party <img src=".../ui/logout"> can force-trigger. This issue has been patched in version 0.3.3.
Weakness: CWE-352
Which versions are affected by CVE-2026-47725?
3 open source packages ship an affected version, including github.com/juev/nebula-mesh.
| Package | Affected | Fixed in |
|---|---|---|
github.com/juev/nebula-mesh Go | All versions | 0.3.3 |
github.com/juev/nebula-mesh Go | All versions | 0.3.3 |
github.com/juev/nebula-mesh Go | All versions | 0.3.3 |
How do I fix CVE-2026-47725?
Upgrade github.com/juev/nebula-mesh to 0.3.3 or later.
Is CVE-2026-47725 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47725 exists.
Sources
Also known as GHSA-273q-qgh5-wrj6, GO-2026-5049.