CVE-2026-55512 nebula-mesh: Unauthenticated OIDC login endpoint allocates unbounded in-memory state entries without rate limiting
Unauthenticated attackers can exhaust memory in nebula-mesh by flooding the OIDC login endpoint, causing denial of service when OIDC is enabled.
- 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-55512?
CVE-2026-55512 is a medium-severity denial of service vulnerability in forgekeep nebula-mesh, published on 4 Sep 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 VPN. From version 0.2.0 to before version 0.5.0, when OIDC is enabled, GET /ui/oidc/login is reachable without authentication and is registered outside the Web UI rate-limited auth routes. Every request creates a fresh random OIDC state value and stores it in an in-memory map for 10m. Expired states are swept lazily, but there is no rate limit or maximum live-state cap on the allocation path. An unauthenticated remote client can therefore grow OIDC.states for the full state TTL, bounded by request throughput rather than by configured auth rate limits. This issue has been patched in version 0.5.0.
Weakness: CWE-400
Which versions are affected by CVE-2026-55512?
4 open source packages ship an affected version, including github.com/forgekeep/nebula-mesh and github.com/juev/nebula-mesh.
| Package | Affected | Fixed in |
|---|---|---|
github.com/forgekeep/nebula-mesh Go | From 0.2.0 | 0.5.0 |
github.com/forgekeep/nebula-mesh Go | From 0.2.0 | 0.5.0 |
github.com/forgekeep/nebula-mesh Go | From 0.4.0 | 0.5.0 |
github.com/juev/nebula-mesh Go | From 0.2.0 | None |
How do I fix CVE-2026-55512?
Upgrade github.com/forgekeep/nebula-mesh to 0.5.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-55512 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55512 exists.
Sources
Also known as GHSA-m3cx-mwpg-32jg, GO-2026-5989.