Doppelgänger Certificates: Bypassing Nebula Blocklists with ECDSA Magic
Vulnerability ID: CVE-2026-25793
CVSS Score: 7.6
Published: 2026-02-06
In the world of cryptography, two things can be mathematically identical yet look completely different to a computer. CVE-2026-25793 is a fascinating logic flaw in Slack's Nebula overlay network that exploits the malleability of ECDSA signatures on the NIST P-256 curve. By flipping the 's' value of a cryptographic signature, an attacker can generate a new binary representation of a certificate that remains cryptographically valid but results in a completely different file hash. Since Nebula's blocklist mechanism relied solely on SHA-256 fingerprints of the raw certificate bytes, this allowed banned attackers to simply 'flip a switch' and re-enter the network.
TL;DR
Nebula versions 1.7.0 through 1.10.2 using non-default P256 settings allow blocklist evasion. Because ECDSA signatures are malleable, an attacker can modify a blocked certificate's signature to generate a different SHA-256 fingerprint while maintaining validity. This bypasses blocklists that rely on static file hashes.
⚠️ Exploit Status: POC
Technical Details
- CWE ID: CWE-347
- Attack Vector: Network
- CVSS v4.0: 7.6 (High)
- Impact: Security Bypass / Revocation Failure
- EPSS Score: 0.00017 (Low)
- Configuration: Requires non-default P256 curve
Affected Systems
- Slack Nebula (v1.7.0 - v1.10.2) configured with P256 curves
-
Nebula: >= 1.7.0, <= 1.10.2 (Fixed in:
1.10.3)
Code Analysis
Commit: f573e8a
Fix ECDSA P-256 signature malleability in blocklist verification
func VerifyCertificate(...) {
+ fp2, err := CalculateAlternateFingerprint(c)
+ if fp2 != "" && ncp.IsBlocklisted(fp2) { return nil, ErrBlockListed }
}
Exploit Details
- Hypothetical: Exploitation involves local manipulation of ASN.1/DER certificate structures to invert the ECDSA 's' value.
Mitigation Strategies
- Upgrade to Nebula v1.10.3 immediately.
- Migrate from NIST P-256 to Curve25519 (default) if compliance rules allow.
- Rotate the Certificate Authority (CA) if active attackers are suspected.
Remediation Steps:
- Download the v1.10.3 binary from the official GitHub release.
- Replace the nebula binary on all lighthouses and nodes.
- Restart the nebula service.
- Verify P256 certificates are now checked against alternate fingerprints.
References
Read the full report for CVE-2026-25793 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)