{"id":"GO-2026-5989","summary":"Unauthenticated OIDC login in nebula-mesh allows unbounded memory allocation in github.com/forgekeep/nebula-mesh","details":"When OIDC is enabled, the login endpoint is reachable without authentication and is registered outside the rate-limited auth routes. Every request creates a fresh random OIDC state value and stores it in an in-memory map.\n\nAn unauthenticated remote client can grow the state storage, bounded by request throughput rather than by configured auth rate limits, potentially leading to a denial of service.","aliases":["CVE-2026-55512","GHSA-m3cx-mwpg-32jg"],"modified":"2026-07-23T18:00:23.854218059Z","published":"2026-07-23T17:33:45Z","database_specific":{"review_status":"REVIEWED","url":"https://pkg.go.dev/vuln/GO-2026-5989"},"references":[{"type":"ADVISORY","url":"https://github.com/forgekeep/nebula-mesh/security/advisories/GHSA-m3cx-mwpg-32jg"},{"type":"FIX","url":"https://github.com/forgekeep/nebula-mesh/commit/bc387086cc0e4b9c1654468b7391af19cacfe367"},{"type":"WEB","url":"https://github.com/forgekeep/nebula-mesh/releases/tag/v0.5.0"}],"affected":[{"package":{"name":"github.com/forgekeep/nebula-mesh","ecosystem":"Go","purl":"pkg:golang/github.com/forgekeep/nebula-mesh"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.4.0"},{"fixed":"0.5.0"}]}],"ecosystem_specific":{"imports":[{"path":"github.com/forgekeep/nebula-mesh/internal/web","symbols":["OIDC.HandleLogin","OIDC.rememberState","Web.ServeHTTP","Web.WithOIDC"]}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2026-5989.json"}},{"package":{"name":"github.com/juev/nebula-mesh","ecosystem":"Go","purl":"pkg:golang/github.com/juev/nebula-mesh"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.2.0"}]}],"ecosystem_specific":{"imports":[{"path":"github.com/juev/nebula-mesh/internal/web","symbols":["OIDC.HandleLogin","OIDC.rememberState","Web.ServeHTTP","Web.WithOIDC"]}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2026-5989.json"}}],"schema_version":"1.7.5"}