Crypto Flexs
  • DIRECTORY
  • CRYPTO
    • ETHEREUM
    • BITCOIN
    • ALTCOIN
  • BLOCKCHAIN
  • EXCHANGE
  • TRADING
  • SUBMIT
Crypto Flexs
  • DIRECTORY
  • CRYPTO
    • ETHEREUM
    • BITCOIN
    • ALTCOIN
  • BLOCKCHAIN
  • EXCHANGE
  • TRADING
  • SUBMIT
Crypto Flexs
Home»HACKING NEWS»ReEncy Attack in ERC -777 -Ackee Blockchain
HACKING NEWS

ReEncy Attack in ERC -777 -Ackee Blockchain

By Crypto FlexsApril 25, 20253 Mins Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
ReEncy Attack in ERC -777 -Ackee Blockchain
Share
Facebook Twitter LinkedIn Pinterest Email

In this blog, we describe reentrology Attacks in the ERC-777 Standard.

A Hands-on Example Contracts and Descriptions is here, and the executable test is here.

Clone this Repository and Run $wake up. Then, run $wake test tests/test_6_erc777.py To Run on your local environment.

The ERC-777 is a Standard for Fungible tokens with a Transfer Hook. The Exchange Contract Allows users to Exchange ETH to SSSToken at a calculated rate.

The Calculation Uses the Total Amount of SSSToken In the Exchange Contract, The Total Amount of Eth in the Exchange Contract with the Corresponding Token Amount the user wants to Exchange.

Expected Usage

This is a Vulnerable Exchange Contract.

TOKEN CONTRACT

We use MyERC777Token as an ERC-777 token and deploy with the Exchange vault as the defaultOperator. SAME as the Default Usage of ERC-777-This send Confirms that the target controlled ERC-777, so Can Prevent Lockout of the Values.

The ERC777 Feature Enables the Attack. When transferring the token, it does an external call. The target of this external call is the transfer target. This feature is for notifying of balance changes, but this feature is Vulnerable to Reentrology Attacks.

Attack Example

In this case, we can attack the tokenToEthInput Function. It’s alarmy has the external call recipient.callvalue: ethBought(""); at the end of the function. Moreover, Other Computations Are Done Above this Function. THEREFORE, It SEEMS The Checks-Effects-Interactions Prevention is Done.

However, According to the ERC777 Feature, It is Vulnerable to Attack. There is an external call When Transferring the SSSToken. Therefore, We can reenter the contract Without Sending the Eth Value.

So while Re-entering, Exchange.balance IE The Balance of Eth in Exchange Does Not Change. This balance value is used for computing the getInputPrice Function.

In getInputPrice Function, The Calculation is Done by this formula.

ETHVAULT = SSSTOKENVALUE * 997 * ETH_BALANCE_IN_EXCHANGE / (SSSTOKEN_IN_EXCHANGE1000 + SSSTOKENVALUE997)

And the ETH_BALANCE_IN_EXCHANGE is higher Than it should be, and ETHVALUE Is sent to the Attacker.

Attacker Contract

This is the Attack Contract.

EXPLOIT

This is the exploit.

This is the beginning of wake’s output. We exchanged to myerc7777tokeen and we got 90661089388014913158 tokens from 100ETH.

This is how it exchanges for ethys for eth using reentrancy.

This is the ending part of wake’s output. IT SENDS 1.2ETH EVERY TIME from the Exchange Contract to the Attacker.

In the end, The Attacker Received Around 9 eth from this Attack.

Prevention

A Simple Reentrology Guard Wild Prevent this Attack:

Conclusion

The ERC-777 have an external call to the target. IT Breaks the checks-Effects-Interactions Patterns and it can be can Easily be Vulnerable.

We have a reentrology Examples github repository. There are other types of reentrology Attacks, as well as protocol-specific reentrancies.

Check out Our Other Type-specific reentrology blogs Below:

Resources

https://blog.openzeppelin.com/Exploiting-uniswap-from-REENTRANCY-TO-Actual-profit

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

Related Posts

GoMining uses DMND pool to mine the first Stratum V2 Bitcoin block.

July 6, 2026

Guardian Rewards – Vault12

July 2, 2026

REAL launches confidentiality layer to expand institutional RWA adoption.

June 30, 2026
Add A Comment

Comments are closed.

Recent Posts

Bitcoin Suisse Advances Middle East Expansion, Receives Financial Services Permission In Abu Dhabi

July 7, 2026

Moonbeam switches from Polkadot to Base for building AI agents.

July 7, 2026

Bittensor subnet token launches on Kraken

July 6, 2026

GoMining uses DMND pool to mine the first Stratum V2 Bitcoin block.

July 6, 2026

How to Hedge a Cryto Portfolio: A Beginner’s Guide (2026)

July 6, 2026

BTSE Group Launches BTSE Indonesia Through Joint Venture, Entering One of Asia’s Fastest-Growing Cryptocurrency Markets

July 6, 2026

Bitmine Immersion Technologies (BMNR) Announces Total Crypto And Cash Holdings Top $11.1 Billion Now

July 6, 2026

Deribit And SignalPlus Launch The Island Trading Competition With Up To $600,000 USDC In Prizes

July 6, 2026

Shiba Inu sees a bullish resurgence with a surge in token burn rates.

July 5, 2026

From T+1 to T+0: What happens as the chain progresses after a transaction (Stable Summit New York Fireside Summary)

July 5, 2026

The creator of Bollinger Bands suggests Bitcoin could end its bearish trend.

July 4, 2026

Crypto Flexs is a Professional Cryptocurrency News Platform. Here we will provide you only interesting content, which you will like very much. We’re dedicated to providing you the best of Cryptocurrency. We hope you enjoy our Cryptocurrency News as much as we enjoy offering them to you.

Contact Us : Partner(@)Cryptoflexs.com

Top Insights

Bitcoin Suisse Advances Middle East Expansion, Receives Financial Services Permission In Abu Dhabi

July 7, 2026

Moonbeam switches from Polkadot to Base for building AI agents.

July 7, 2026

Bittensor subnet token launches on Kraken

July 6, 2026
Most Popular

IRS recruits experts to increase cryptocurrency taxes and strengthens regulations

March 4, 2024

Hong Kong Monetary Authority to review monetary board operations amid global economic divergence

August 18, 2024

Bitcoin Price Breaks Fresh Bullish Breakout, Could BTC Climb to $45,000?

December 26, 2023
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
  • Terms and Conditions
© 2026 Crypto Flexs

Type above and press Enter to search. Press Esc to cancel.