VDB

CVE-2020-26241

CVE-2020-26241 PUBLISHED CVSS 6.5 MEDIUM

Reported by GitHub_M · Published November 25, 2020

Go Ethereum, or "Geth", is the official Golang implementation of the Ethereum protocol. This is a Consensus vulnerability in Geth before version 1.9.17 which can be used to cause a chain-split where vulnerable nodes reject the canonical chain. Geth's pre-compiled dataCopy (at 0x00...04) contract did a shallow copy on invocation. An attacker could deploy a contract that writes X to an EVM memory region R, then calls 0x00..04 with R as an argument, then overwrites R to Y, and finally invokes the RETURNDATACOPY opcode. When this contract is invoked, a consensus-compliant node would push X on the EVM stack, whereas Geth would push Y. This is fixed in version 1.9.17.

Risk Scores

CVSS v3.1
6.5
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

Affected Products

VendorProductVersions
ethereumgo-ethereum>= 1.9.7, < 1.9.17
github.comethereum/go-ethereum/eth0, 0, 0
ethereumgo-ethereum>= 1.9.7, < 1.9.17, *, *
github.comethereum/go-ethereum1.9.7, 1.9.7, 1.9.7
github.comethereum/go-ethereum/core/vm0, 0, 0
github.comethereum/go-ethereum/cmd/evm0, 0, 0

Timeline

  • Nov 25, 2020 CVE Published
  • Apr 14, 2021 EPSS Score
  • Jun 22, 2021 EPSS Score
  • Aug 24, 2021 EPSS Score
  • Oct 25, 2021 EPSS Score
  • Jan 6, 2022 EPSS Score
  • Feb 4, 2022 EPSS Score
  • Feb 27, 2022 EPSS Score
  • Apr 1, 2022 EPSS Score
  • May 1, 2022 EPSS Score
  • Jul 2, 2022 EPSS Score
  • Sep 4, 2022 EPSS Score
Open in Interactive Console →
$ Console Community · 100/wk Open console ›