CVE-2026-48025: forgekeep nebula-mesh improper clearing of heap memory in PKI resolver

CVE-2026-48025 · Severity: medium · CVSS 0 · Published 2026-07-28

nebula-mesh is a control plane for managing Slack Nebula mesh virtual private networks. A security flaw allows sensitive cryptographic private keys to remain in the server's memory in an unencrypted state for longer than necessary. If an attacker gains access to the server's memory—through a system crash report, a backup, or other local access—they could potentially steal these keys and compromise the security of the entire virtual network.

Technologies: Forgekeep Nebula-Mesh, github.com/forgekeep/nebula-mesh (Go), github.com/juev/nebula-mesh (Go). Vendors: Forgekeep, Go.

Quick answers

Is CVE-2026-48025 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-48025 being exploited in the wild.
How severe is CVE-2026-48025?
Medium severity, with a CVSS score of 0, published 28 July 2026.
Which products and versions are affected?
Forgekeep Nebula-Mesh < 0.3.7; github.com/forgekeep/nebula-mesh (Go) SEMVER:introduced=0,fixed=0.3.7; github.com/juev/nebula-mesh (Go) < 0.3.7, SEMVER:introduced=0,fixed=0.3.7.
Is there a fix for CVE-2026-48025?
Yes. github.com/forgekeep/nebula-mesh (Go): upgrade to 0.3.7 or later; github.com/juev/nebula-mesh (Go): upgrade to 0.3.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-48025 attacked?
It is attacked with local access, in a network appliance.
Am I affected by CVE-2026-48025?
Check whether you run Forgekeep Nebula-Mesh, github.com/forgekeep/nebula-mesh (Go) or github.com/juev/nebula-mesh (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/forgekeep/nebula-mesh (Go): upgrade to 0.3.7 or later
    go get github.com/forgekeep/nebula-mesh@v0.3.7
  • github.com/juev/nebula-mesh (Go): upgrade to 0.3.7 or later
    go get github.com/juev/nebula-mesh@v0.3.7

Technical details

A heap inspection vulnerability exists in nebula-mesh due to a failure to meet the zeroization contract of the keystore package. In internal/pki/resolver.go, the CAManager is constructed with a plaintext ed25519.PrivateKey, but the underlying memory slice is not wiped before the reference is dropped. Consequently, decrypted CA private keys persist in the process heap until the Go garbage collector scavenges the slice, which can take minutes to hours. An attacker with local access (e.g., via ptrace, core dumps, or swap files) could recover these keys. The issue is addressed in version 0.3.7 by implementing and calling a Wipe() method to zeroize the keys immediately after use.

Affected products

  • forgekeep nebula-mesh < 0.3.7

Identifiers

  • CVE-2026-48025
  • GHSA-8h84-fhqq-q58v
  • GO-2026-5255

Timeline

  • 2026-05-20: disclosed: Initial GitHub security advisory published
  • 2026-06-02: patched: Version 0.3.7 released with fix
  • 2026-07-28: advisory: NVD publication date

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.