VDB
Sign up
HIGH

GHSA-69x3-g4r3-p962

Blocklist Bypass possible via ECDSA Signature Malleability

Quick fix

GHSA-69x3-g4r3-p962 — github.com/slackhq/nebula: upgrade to the fixed version with the command below.

go get github.com/slackhq/nebula@v1.10.3

Details

### Impact

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

Go/github.com/slackhq/nebula
Introduced in: 1.7.0Fixed in: 1.10.3
Fixgo get github.com/slackhq/nebula@v1.10.3

References