The GetBlockHeadersMsg handler in the LES protocol implementation in Go Ethereum (aka geth) before 1.8.11 may lead to an access violation because of an integer signedness error for the array index, which allows attackers to launch a Denial of Service attack by sending a packet with a -1 query.Skip value. The vulnerable remote node would be crashed by such an attack immediately, aka the EPoD (Ethereum Packet of Death) issue.
github.com/ethereum/go-ethereum
github.com/ethereum/go-ethereum/commit/a5237a27eaf81946a3edb4fafe13ed6359d119e4
github.com/ethereum/go-ethereum/pull/16891
github.com/ethereum/go-ethereum/releases/tag/v1.8.11
nvd.nist.gov/vuln/detail/CVE-2018-12018
peckshield.com/2018/06/27/EPoD
pkg.go.dev/vuln/GO-2021-0075
web.archive.org/web/20180628022133/https://peckshield.com/2018/06/27/EPoD