How Is the Call Function in Solidity Related to Reentrancy?

The low-level call function in Solidity is often used to send Ether to external addresses. Unlike transfer or send , call forwards all available gas by default, which allows the receiving contract to execute complex logic, including calling back the original contract.

This high gas forwarding is the mechanism that enables the reentrancy vulnerability.

What Specific State Changes (Effects) Should Be Prioritized before an External Call?
What Are the Gas Limitations of the Transfer Function in Solidity?
How Have Recent Versions of Solidity Changed the Behavior of Fallback Functions to Mitigate This Risk?
How Do Modern Solidity Versions Recommend Handling Ether Transfers Instead of Using a Gas Stipend?
What Are the Differences between Single-Function and Cross-Function Reentrancy Attacks?
Why Is Call.value() Preferred over Transfer() in Modern Solidity?
What Role Does the CALL Opcode Play in Enabling Reentrancy?
What Is a “Gas Stipend” in the Context of External Calls?

Glossar