CVE-2026-48025 nebula-mesh: Decrypted CA private key persists in heap after signing

Medium 6.9 Published Updated

Attackers with heap access can recover decrypted CA private keys from nebula-mesh control plane memory due to missing zeroization.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-48025?

CVE-2026-48025 is a medium-severity vulnerability in juev nebula-mesh, published on 28 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-244

Which versions are affected by CVE-2026-48025?

5 open source packages ship an affected version, including github.com/juev/nebula-mesh and github.com/forgekeep/nebula-mesh.

PackageAffectedFixed in
github.com/juev/nebula-mesh GoAll versions0.3.7
github.com/juev/nebula-mesh GoAll versions0.3.7
github.com/forgekeep/nebula-mesh GoAll versions0.3.7
github.com/forgekeep/nebula-mesh GoAll versions0.3.7
github.com/forgekeep/nebula-mesh GoAll versions0.3.7

How do I fix CVE-2026-48025?

Upgrade github.com/juev/nebula-mesh to 0.3.7 or later.

Is CVE-2026-48025 being exploited?

There is no known exploitation of CVE-2026-48025 in the wild and no public exploit code.

Sources

Also known as GHSA-8h84-fhqq-q58v, GO-2026-5255.

Is CVE-2026-48025 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free