{"id":"CVE-2026-53604","summary":"nebula-mesh: CA private key not zeroized on web mobile-bundle error paths","details":"nebula-mesh is a self-hosted control plane for Slack Nebula mesh VPN. Prior to version 0.3.8, the web handler renderMobileBundle passes the real *pki.CAResolver directly into mobilebundle.Build. Inside Build, resolver.LoadByID decrypts the CA's ed25519 private key into a *pki.CAManager, but Build never calls CAManager.Wipe() on any return path. As a result, when a mobile-bundle request goes through the web UI and Build returns — especially on error (missing network, invalid prefix, DB error, signing failure) — the plaintext CA private key remains on the Go heap, unwiped, until garbage collection. An attacker able to read process memory (core dump, swap, memory-scraping) can recover the CA signing key, which would allow minting arbitrary host certificates for the mesh. The API handler already does this correctly: it loads the CAManager, defer caMgr.Wipe(), and wraps it in caManagerResolver. Only the web path is affected. This issue has been patched in version 0.3.8.","aliases":["GHSA-2p2f-px33-4vv5","GO-2026-5984"],"modified":"2026-09-06T03:46:08.345031038Z","published":"2026-09-04T19:40:51.423Z","related":["openSUSE-SU-2026:21483-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53604.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-212","CWE-316"]},"references":[{"type":"WEB","url":"https://github.com/forgekeep/nebula-mesh/releases/tag/v0.3.8"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53604.json"},{"type":"ADVISORY","url":"https://github.com/forgekeep/nebula-mesh/security/advisories/GHSA-2p2f-px33-4vv5"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53604"},{"type":"FIX","url":"https://github.com/forgekeep/nebula-mesh/commit/1f1ab9aa8472239763d967e3d50a3cd53a1a79b9"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/forgekeep/nebula-mesh","events":[{"introduced":"0"},{"fixed":"1f1ab9aa8472239763d967e3d50a3cd53a1a79b9"},{"fixed":"7cb01bab281ded557f8b6c81dab5f48d4c10182e"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.3.8"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v0.3.7","v0.3.6","v0.3.5","v0.3.4","v0.3.3","v0.3.2","v0.3.1","v0.3.0","v0.2.0","v0.1.2","v0.1.1","v0.1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53604.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"}]}