Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. github.com/forgekeep/nebula-mesh
  4. ›
  5. CVE-2026-61699

CVE-2026-61699: nebula-mesh: Certificate revocation is never enforced at the mesh

July 14, 2026

nebula-mesh revokes a host by adding its certificate fingerprint to a per-CA blocklist and shipping that list to every other agent on each poll. Slack’s Nebula enforces certificate revocation ONLY through the pki.blocklist list in config.yml (no CRL/OCSP). The project’s own code states this: internal/pki/durations.go:15 — “Revocation via the blocklist remains the immediate security control.”

The server side is fully implemented (computes per-CA blocklist via GetBlocklistForCA, returns it in the agent-updates response, sets has_updates=true when non-empty). The agent side was never implemented:

  1. The agent decodes the blocklist JSON field into UpdatesResponse.Blocklist (internal/agent/poller.go:33) and then DISCARDS it — poll() applies CertificatePEM, CACertPEM, ConfigYAML, but never references updates.Blocklist (internal/agent/poller.go:300-339).
  2. The config generator has NO field to emit pki.blocklist — pkiSection is only ca/cert/key (internal/configgen/marshal.go:42-46) and GeneratorInput carries no blocklist (internal/configgen/generator.go:23-52). So even the server-rendered config.yml shipped via ConfigYAML cannot carry it.

Result: a blocked/offboarded/compromised host’s certificate is never rejected by its peers. Its handshakes keep succeeding for the full remaining cert lifetime — up to 30 days for agent hosts (DefaultAgentCertDuration) and 365 days for mobile hosts (DefaultMobileCertDuration). Blocking a host in the UI/API has no effect on the data plane.

References

  • github.com/advisories/GHSA-cm26-5974-52h8
  • github.com/forgekeep/nebula-mesh/commit/0426e2f224a9b1e2029029bf923c93ed39d21cdb
  • github.com/forgekeep/nebula-mesh/releases/tag/v0.7.1
  • github.com/forgekeep/nebula-mesh/security/advisories/GHSA-cm26-5974-52h8
  • nvd.nist.gov/vuln/detail/CVE-2026-61699

Code Behaviors & Features

Detect and mitigate CVE-2026-61699 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 0.7.1

Fixed versions

  • 0.7.1

Solution

Upgrade to version 0.7.1 or above.

Impact 8.1 HIGH

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-299: Improper Check for Certificate Revocation
  • CWE-672: Operation on a Resource after Expiration or Release

Source file

go/github.com/forgekeep/nebula-mesh/CVE-2026-61699.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:31 +0000.