Ethereum proof-of-stake client bug caught and patched without incident

2022-9-27 17:30

Ethereum developers identified a bug within the Besu Ethereum client that could have led to “consensus failure in networks with multiple EVM implementations.”

Gary Schulte reported the issue to the Hyperledger GitHub repository and was found by Martin Holst Swende. It is understood that “no production networks have transactions that would trigger this failure.”

Bug identified during The Merge code review

Swende documented that he found the bug while “doing some #ethereum fuzzing in preparation for #TheMerge.” In response to a CryptoSlate journalist, Swende stated that users running a Besu node would have become stuck and “not able to follow the canon chain.” Further, any “besu-dominated network could have been stopped in it’s tracks.”

They would have been stuck, not able to follow the canon chain. And/or, any besu-dominated network (non-eth-mainnet) could have been stopped in it's tracks.

— M H (((Swende))) (@mhswende) September 27, 2022

The Besu client is the second most popular client on the Ethereum network behind Geth. According to data available via ethernodes.org, The Besu client is used by 7.81% of Ethereum mainnet clients.

Vulnerable Besu client versions

Version 22.7.1 of the Besu client contains a fix to ensure “excess gas will not be allocated to inner transaction calls and correcting the excess gas errors.”

Versions earlier than 22.1.3 will also “prevent incorrect execution,” however, Ethereum mainnet requires other features only available in later versions. Client versions 22.4.0 to 22.7.0 are currently considered vulnerable to the gas bug.

As a result, Besu client users on the mainnet must upgrade to the patched version.

Impact and resolution

Danno Ferrin created a full write-up of the issue in a Hackmd article published Sept. 21. Ferrin’s analysis stated that

“A flaw in handling unsigned data as signed data a properly coded smart contract can create a function call that will return more gas than was passed in.”

Further technical information regarding the bug can be found in Ferrin’s post. However, the main takeaway is that the bug was resolved without any issue on the Ethereum mainnet. For a bad actor to maliciously exploit the bug, they would have had to act in a precise manner.

“In order to elevate this to a chain-halting bug a deliberately crafted call was needed, involving some interactions with the EIP-150 “all but one 64th” rule and reserving a portion of available gas for the calling contract.”

If the bug was not found, any chain with high participation from the Besu client could have experienced a smart contract “infinite loop” whereby the contract would “truly execute forever.”

Ferrin stated that fuzzing enabled the developers to identify and patch the bug without issue. Fuzzing is a method used by software developers “that involves providing invalid, unexpected, or random data as inputs to a computer program.”

“The biggest lesson demonstrated by this exploit is that the comparison of trace data in a fuzzing execution catches more bugs than simply comparing the end results.”

The excess gas bug became a non-event due to the diligence of Ethereum developers dedicating themselves to protecting the network. However, the potential harm it could have caused showcases the complexity behind executing the merge without issues.

The bug was patched in version 22.7.1 using “a different conversion method that will “clamp” overflow values to the maximum expected values avoiding the signed translation issues.” Ferrin commented that users running nodes within the vulnerable range should update to the most recent version.

The post Ethereum proof-of-stake client bug caught and patched without incident appeared first on CryptoSlate.

Similar to Notcoin - Blum - Airdrops In 2024

origin »

Ethereum (ETH) на Currencies.ru

$ 3348.34 (+1.93%)
Объем 24H $45.194b
Изменеия 24h: 7.48 %, 7d: 5.67 %
Cегодня L: $3039.69 - H: $3348.34
Капитализация $403.232b Rank 2
Цена в час новости $ 1331.56 (151.46%)

ethereum client bug gary schulte reported implementations

ethereum client → Результатов: 126


Ethereum Classic To Lose Over 50% Of Nodes As Top Client, OpenEthereum, Moves On

The largest developer client on Ethereum Classic, OpenEthereum (OE), completed a vote to deprecate development on the blockchain in a bid to focus their efforts on Ethereum and other projects. Following the vote, only Core Geth and Hyperledger Besu clients – which hold less than a third of the nodes – will continue supporting the […]

2020-7-22 19:01


Фото:

Grupo XP’s Brazilian Clients Will Soon Have Access to Cryptocurrency Trading

Cryptocurrency adoption will likely experience a surge in the coming months. In a recent announcement, it was said that Brazil’s biggest independent brokerage will join the crypto market and will soon be launching a trading platform for Ethereum and Bitcoin, which will give its existing massive client base access to cryptocurrency trading.

2018-9-27 19:29


Фото:

DevCon 4 Will Set the Stage for Ethereum’s Next Milestone: Constantinople

Ethereum is embracing the Constantinople milestone at the end of November 2018, after DevCon4 in Prague. Constantinople is the latest Ethereum release, introduced through a hard fork, that will include five Ethereum Improvement Proposals (EIPs):Bitwise shifting instructions (EIP 145) in the Ethereum Virtual Machine (EVM) allow for direct manipulation of bytes on the EVM layer.

2018-9-11 18:15


Фото:

Breeze Wallet with Breeze Privacy Protocol Mainnet Now Available for Download

The Breeze Wallet with the Breeze Privacy Protocol public mainnet has been released and is now open to the public. The wallet showcases Stratis technology — a platform built for visual basic apps and blockchain solutions — and places heavy emphasis on both privacy and security for businesses seeking to implement business-to-business (B2B) transactions on the Stratis and Bitcoin blockchain networks.

2018-8-4 00:02


Status Releases Nimbus, an Ethereum 2.0 Sharding Client For Driving User Adoption

Status just introduced a platform called Nimbus that aims to drive mass adoption of Ethereum. Nimbus is an Ethereum 2.0 sharding client written in a language called Nim. According to a press release from earlier today, Nimbus “offers us various unique features capable of handling both the complex computations required, while ensuring they can still […]

2018-8-2 01:48


Фото:

An Australian Blockchain Experiment: Tracking Global Almond Shipments

Following a successful 2016 trial of blockchain technology in an interbank open account transaction, the Commonwealth Bank of Australia (CBA) has partnered with five international and Australian companies to ship 17 tonnes of almonds from Melbourne, Australia, to Hamburg, Germany, using a new distributed ledger platform built on the Ethereum blockchain.

2018-7-31 23:13


Вышла новая версия программного обеспечения Parity Ethereum v2.0

Parity, программный клиент Ethereum, объявил о некоторых серьезных изменениях, включая удаление его графического пользовательского интерфейса (GUI), сообщает Coindesk. The Parity Ethereum client v2.

2018-7-19 22:39