CVE-2026-53604
Received Received - Intake

Memory Leak in Nebula-Mesh Exposes CA Private Keys

Vulnerability report for CVE-2026-53604, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-04

Last updated on: 2026-09-04

Assigner: GitHub, Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-04
Last Modified
2026-09-04
Generated
2026-09-05
AI Q&A
2026-09-04
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
nebula-mesh nebula_mesh to 0.3.8 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-212 The product stores, transfers, or shares a resource that contains sensitive information, but it does not properly remove that information before the product makes the resource available to unauthorized actors.
CWE-316 The product stores sensitive information in cleartext in memory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects nebula-mesh, a self-hosted control plane for Slack Nebula mesh VPN. The issue is in the web handler renderMobileBundle which passes a CA resolver directly into mobilebundle.Build without properly wiping the private key from memory. The private key remains in plaintext on the Go heap until garbage collection, allowing attackers with memory access to recover it and mint arbitrary host certificates for the mesh.

Impact Analysis

An attacker who gains access to process memory (via core dumps, swap files, or memory scraping) could recover the CA signing key. This would allow them to create fraudulent host certificates for the VPN mesh, potentially enabling man-in-the-middle attacks, unauthorized network access, or impersonation of legitimate hosts within the mesh.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data by allowing attackers to mint arbitrary host certificates for the mesh VPN. This may violate GDPR's data protection requirements and HIPAA's safeguards for protected health information if exposed data includes personal or medical records.

Mitigation Strategies

Upgrade nebula-mesh to version 0.3.8 or later to address the private key exposure in the web handler. Ensure the API handler is correctly implemented as it already follows secure practices by wiping keys.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53604. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart