GHSA-69v6-xc2j-r2jf

Suggest an improvement
Source
https://github.com/advisories/GHSA-69v6-xc2j-r2jf
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/06/GHSA-69v6-xc2j-r2jf/GHSA-69v6-xc2j-r2jf.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-69v6-xc2j-r2jf
Aliases
Published
2021-06-29T21:13:01Z
Modified
2024-08-21T15:58:30.243033Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
Shallow copy bug in geth
Details

Impact

This is a Consensus vulnerability, 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,
  • calls 0x00..04 with R as an argument,
  • 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.

Specific Go Packages Affected

github.com/ethereum/go-ethereum/core/vm

For more information

If you have any questions or comments about this advisory: * Open an issue in go-ethereum * Email us at security@ethereum.org

Database specific
{
    "nvd_published_at": null,
    "cwe_ids": [
        "CWE-682"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2021-05-21T21:51:49Z"
}
References

Affected packages

Go / github.com/ethereum/go-ethereum

Package

Name
github.com/ethereum/go-ethereum
View open source insights on deps.dev
Purl
pkg:golang/github.com/ethereum/go-ethereum

Affected ranges

Type
SEMVER
Events
Introduced
1.9.7
Fixed
1.9.17