GHSA-69X3-G4R3-P962
Vulnerability from github – Published: 2026-02-06 20:05 – Updated: 2026-02-07 00:33Impact
When using P256 certificates (which is not the default configuration), it is possible to evade a blocklist entry created against the fingerprint of a certificate by using ECDSA Signature Malleability to use a copy of the certificate with a different fingerprint.
In order for this to affect a user or network, all of the following must be true:
* CURVE_P256 certificates are being used
* There are one or more entries on the blocklist
* The certificates for those entries are signed by a trusted CA and not expired
* An attacker has a copy of the private key, and corresponding certificate, for one of those blocklist entries
Patches
See attached
Workarounds
If full copies of each certificate on the existing blocklist are available, it is possible to compute their opposite-chirality signature, and then the appropriate second fingerprint to list in the blocklist.
Rotating out all CAs that have signed hosts on the blocklist will also prevent exploitation of this vulnerability.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 1.10.2"
},
"package": {
"ecosystem": "Go",
"name": "github.com/slackhq/nebula"
},
"ranges": [
{
"events": [
{
"introduced": "1.7.0"
},
{
"fixed": "1.10.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-25793"
],
"database_specific": {
"cwe_ids": [
"CWE-347"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-06T20:05:35Z",
"nvd_published_at": "2026-02-06T23:15:54Z",
"severity": "HIGH"
},
"details": "### Impact\n\nWhen using P256 certificates (which is not the default configuration), it is possible to evade a blocklist entry created against the fingerprint of a certificate by using ECDSA Signature Malleability to use a copy of the certificate with a different fingerprint.\n\nIn order for this to affect a user or network, all of the following must be true:\n* `CURVE_P256` certificates are being used\n* There are one or more entries on the blocklist\n* The certificates for those entries are signed by a trusted CA and not expired\n* An attacker has a copy of the private key, and corresponding certificate, for one of those blocklist entries\n\n### Patches\n\nSee attached\n\n### Workarounds\n\nIf full copies of each certificate on the existing blocklist are available, it is possible to compute their opposite-chirality signature, and then the appropriate second fingerprint to list in the blocklist.\n\nRotating out all CAs that have signed hosts on the blocklist will also prevent exploitation of this vulnerability.",
"id": "GHSA-69x3-g4r3-p962",
"modified": "2026-02-07T00:33:38Z",
"published": "2026-02-06T20:05:35Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/slackhq/nebula/security/advisories/GHSA-69x3-g4r3-p962"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-25793"
},
{
"type": "WEB",
"url": "https://github.com/slackhq/nebula/commit/f573e8a26695278f9d71587390fbfe0d0933aa21"
},
{
"type": "PACKAGE",
"url": "https://github.com/slackhq/nebula"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Blocklist Bypass possible via ECDSA Signature Malleability"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.