ERC-20 `approve` Race Condition
The ERC-20 standard's `approve` function is susceptible to a known race condition. If a user approves an amount for a spender, and then attempts to change that allowance to a different value, a malicious actor could front-run the second transaction. This allows the attacker to spend the original allowance, and then also spend the new allowance after the second transaction confirms, effectively spending more than the intended total. This is explicitly mentioned in the `IERC20` interface comments.