Skip to main content

Can a Contract without a Fallback Function Still Participate in a Reentrancy Attack?

A contract without a fallback or a receive function cannot receive plain Ether, but it can still participate in a reentrancy attack if the attack is initiated through a specific, existing public function. However, if the vulnerable contract sends Ether using transfer or send , the transaction will revert immediately if the malicious contract has no payable function to receive it, effectively preventing the typical reentrancy loop.

Can a User Increase an Existing Allowance, and What Are the Security Implications?
How Have Recent Versions of Solidity Changed the Behavior of Fallback Functions to Mitigate This Risk?
What Is the Difference between a Receive and a Fallback Function in Solidity?
What Is the Role of a Fallback Function in Facilitating a Reentrancy Attack?