summary: Incorrect implementation of BLOCKHASH can lead to chain reorganization leading to consensus problems
Affected configurations: All versions of geth up to 1.1.3 and 1.2.2. All versions prior to 1.0.0.
Probability: a little
Danger: Mediation
impact: Mediation
details: Both C++ (eth) and Go (geth) clients have a faulty implementation of edge state in the Ethereum virtual machine, specifically the chain that the BLOCKHASH instruction uses to retrieve the block hash. This edge condition is unlikely to occur on a live network as it will only be triggered in certain types of chain reorganizations (nodes executing BLOCKHASH(N – 1) where N is the head of a not-yet-created non-core subchain that has been reorganized to become the primary chain (best/longest) but this will be done after the block is processed).
Pythium is not affected.
Effects on the expected depth of chain reorganization: no one
Remedial action taken by Ethereum: Provide hotfixes as follows.
Geth:
Power Purchase Agreement: sudo apt-get update then sudo apt-get upgrade
Drink: Update brew and then reinstall Ethereum
Windows: Download the updated binary file from https://github.com/ethereum/go-ethereum/releases/tag/v1.2.3
Build from source:
git fetch origin && git checkout origin/master
Ethics:
Power Purchase Agreement: https://gavofyork.gitbooks.io/turboethereum/content/chapter1.html




















.jpg)

![Security alarm [Implementation of BLOCKHASH instruction in C++ and Go clients can potentially cause consensus issue – Fixed. Please update.]](https://forextradinglivenews.com/wp-content/uploads/2024/05/Secured-6-Writing-Robust-C-Best-Practices-for-1024x439.jpeg)