CVE-2026-47726 nebula-mesh: GET /api/v1/audit-log discloses all entries to any operator
Any authenticated operator can access the full audit log, exposing sensitive cross-tenant activity data and infrastructure details.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-47726?
CVE-2026-47726 is a high-severity missing authorization vulnerability in juev nebula-mesh, published on 28 Jul 2026. Any signed-in user can exploit it over the network, 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.2, internal/api/audit.go:12 — handleGetAuditLog does no admin check. The route is bearer-auth gated only; any operator API key returns the full audit log via store.ListAuditEntries (up to limit=1000). This includes cross-tenant actor names, host/CA/operator IDs, action timestamps, and masked-IP entries from rate-limit refusals — enough surface for a tenant to enumerate the server's activity, infer staffing patterns, or identify high-value targets. This issue has been patched in version 0.3.2.
Weakness: CWE-285
Which versions are affected by CVE-2026-47726?
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.2 |
github.com/juev/nebula-mesh Go | All versions | 0.3.2 |
github.com/juev/nebula-mesh Go | All versions | 0.3.2 |
How do I fix CVE-2026-47726?
Upgrade github.com/juev/nebula-mesh to 0.3.2 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-47726 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47726 exists.
Sources
Also known as GHSA-qm33-p5p9-f8vg, GO-2026-5586.