CVE-2026-48025
Received Received - Intake

Memory Leak in Plaintext CA Private Keys in Nebula-Mesh

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

Publication date: 2026-07-28

Last updated on: 2026-07-28

Assigner: GitHub, Inc.

Description

nebula-mesh is a self-hosted control plane for Slack Nebula mesh virtual private network. Prior to version 0.3.7, internal/pki/resolver.go:36-64 constructs a CAManager with the plaintext ed25519.PrivateKey after unwrapping via the master key; internal/pki/ca.go:13-16 stores it. Callers at internal/api/enroll.go:116, internal/api/updates.go:297, and internal/api/mobile_bundle.go:40 use the manager for one Sign() and drop the reference on function return β€” but the underlying slice contents are not wiped before release. The keystore package's contract (internal/keystore/keystore.go doc: "Callers MUST zeroise the returned plaintext DEK as soon as it is no longer needed") is not met by the CAManager consumer. Decrypted CA private keys persist in process heap until Go's GC scavenges the underlying slice β€” minutes to hours under load, indefinitely on idle servers. This issue has been patched in version 0.3.7.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-28
Last Modified
2026-07-28
Generated
2026-07-29
AI Q&A
2026-07-28
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
forgekeep nebula_mesh 0.3.7
nebula-mesh nebula_mesh to 0.3.7 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-244 Using realloc() to resize buffers that store sensitive information can leave the sensitive information exposed to attack, because it is not removed from memory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in nebula-mesh (CVE-2026-48025) involves improper handling of decrypted CA private keys in memory. The CAManager stores plaintext ed25519.PrivateKey after unwrapping with a master key. While the manager reference is dropped after signing, the underlying key slice remains in memory until garbage collection, which can take minutes to hours or indefinitely on idle servers. This violates the keystore package's requirement to zeroize sensitive data immediately after use.

Detection Guidance

This vulnerability involves decrypted CA private keys lingering in memory. Detection requires checking for exposed memory containing sensitive key material. Use tools like 'strings' on core dumps or process memory, or 'gcore' to capture process memory for analysis. Monitor for unauthorized access to process memory via ptrace or similar tools.

Impact Analysis

An attacker with memory-read access (e.g., via core dumps, ptrace, kernel swaps, or side-channel exploits) could recover the plaintext CA private key. This could lead to unauthorized signing of certificates, impersonation of the CA, or decryption of intercepted communications. Systems using nebula-mesh versions prior to 0.3.7 are vulnerable.

Compliance Impact

This vulnerability could lead to unauthorized access to decrypted CA private keys due to improper memory handling, potentially violating GDPR's data protection principles (Article 32) and HIPAA's security requirements for safeguarding protected health information. Unauthorized access to cryptographic keys may result in data breaches, non-compliance with encryption standards, and failure to meet regulatory obligations for data confidentiality and integrity.

Mitigation Strategies

Upgrade to nebula-mesh version 0.3.7 or later to apply the patch. Ensure all callers of CAManager invoke a Wipe() method to zeroize private keys immediately after use. Review and enforce memory sanitization practices for sensitive data handling.

Chat Assistant

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

EPSS Chart