Junglewise Threat Intelligence

forgekeep nebula-mesh sensitive information leak via missing Cache-Control headers

Severity: low · CVSS 2.3 · Published 2026-06-12

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

Executive brief

A vulnerability in the nebula-mesh API could allow sensitive security keys to be stored in web caches or browser history. This occurs because the system fails to tell web browsers and intermediate servers not to save the response containing private X25519 keys. If an attacker gains access to these cached files, they could potentially compromise the encrypted communications of the affected hosts.

Technical details

The `POST /api/v1/hosts/{id}/mobile-bundle` endpoint in `internal/api/mobile_bundle.go` fails to set `Cache-Control: no-store` and related security headers. Because this endpoint returns a freshly generated X25519 private key in a YAML bundle, the absence of these headers allows the sensitive response to be stored by transparent proxies, CDNs, or local browser disk caches. An attacker with access to these caches could retrieve the private keys. This issue was previously fixed in the Web-UI component but was missed in the API implementation. The vulnerability is addressed in version 0.3.2 by adding `Cache-Control: no-store`, `Pragma: no-cache`, `Expires: 0`, and `X-Content-Type-Options: nosniff` headers.

Affected products

  • forgekeep nebula-mesh <= 0.3.1

Timeline

  • 2026-05-21: disclosed
  • 2026-06-12: advisory: GHSA-6vgg-xhvh-38ff published
  • 2026-06-12: patched

References

Related threats