RWAVault's `refresh` read a price that any caller could update through a public `updatePrice()`. DeFiHackLabs reconstructs the in-tx refresh-and-borrow against the on-chain behaviour.
Logged as “2026-04-28: Missing Erc4626 Allowance Check on RWAVault”.
RWAVault's refresh accepted an oracle price that the same caller had updated via a public updatePrice function with no access control. The attacker updated the price to a manipulated value and called refresh against it, walking the inflated collateral out.
DeFiHackLabs reconstructs the sequence against the live state; total loss is captured in the PoC.
What would have prevented it: a refresh that reads from a TWAP-protected oracle and rejects single-block price updates as a price source.
Query every incident yourself — free, no signup
Updated 14 Oct 2026. Figures are as reported by the sources listed above and are not independently verified.