How Does a Read-Only Reentrancy Attack Differ from These Two Types?

A read-only reentrancy attack is a more subtle exploit where an attacker re-enters a contract not to change its state directly (like draining funds), but to manipulate the logic by making the contract read a stale or inconsistent state. For example, an attacker could call a function that, mid-execution, reads a price from an oracle.

The attacker's callback could then manipulate the oracle price before the original function resumes, causing it to execute based on incorrect data. It doesn't steal funds directly but causes the contract to behave in an unintended, often exploitable, way.

What Is a ‘Reentrancy Attack’?
What Is the Defense against a Read-Only Reentrancy Attack?
How Does a Read-Only Attack Impact an On-Chain Lending Protocol?
Can a Contract with a High Gas Limit Still Be Safe from Reentrancy?
What Is the Primary Difference between a ‘View’ Function and a ‘State-Changing’ Function?
What Is an Oracle Attack and How Does It Combine with Reentrancy in Derivatives?
Why Must State Updates Occur before External Calls?
What Is a “Reentrancy Attack” in Smart Contract Security?

Glossar