A vulnerable node can be forced to shutdown/crash using a specially crafted message.
During the peer-to-peer connection handshake, a shared secret key is computed. The implementation
did not verify whether the EC public key provided by the remote party is a valid point on the secp256k1 curve.
By simply sending an all-zero public key, a crash could be induced due to unexpected results from the handshake.
The issue was fixed by adding a curve point validity check in https://github.com/ethereum/go-ethereum/commit/159fb1a1db551c544978dc16a5568a4730b4abf3
A fix has been included in geth version 1.14.13 and onwards.
Unfortunately, no workaround is available.
This issue was originally reported to Polygon Security by David Matosse (@iam-ned).
| Score | Percentile |
|---|---|
| 0.04% | 10.83% |
| Base score | Version | Severity | Vector |
|---|---|---|---|
| 6.6 | 4.0 | — |
|
| Type | Value |
|---|---|
| GHSA | GHSA-q26p-9cq4-7fc2 ↗ |
| CVE | CVE-2025-24883 ↗ |
Vulnerable version ranges and first patched releases as published by GitHub.
| Ecosystem | Package | Vulnerable range | First patched | Vulnerable functions |
|---|---|---|---|---|
| go | github.com/ethereum/go-ethereum | >= 1.14.0, < 1.14.13 | 1.14.13 | — |