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).
{ "nvd_published_at": "2025-01-30T16:15:31Z", "cwe_ids": [ "CWE-20", "CWE-248" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2025-01-30T17:51:57Z" }