#45377 [SC-Insight] Missing pause modifier in `beforeCollateralWithdrawal` allows collateral theft during a pause
Description
Brief/Intro
Vulnerability Details
/**
* Called by AgentVault when agent calls `withdraw()`.
* NOTE: may only be called from an agent vault, not from an EOA address.
* @param _valueNATWei the withdrawn amount
*/
function beforeCollateralWithdrawal(
IERC20 _token,
uint256 _valueNATWei
)
external
{
// AgentsExternal.beforeCollateralWithdrawal makes sure that only a registered agent vault can call
AgentsExternal.beforeCollateralWithdrawal(_token, msg.sender, _valueNATWei);
}Impact Details
References
Proof of Concept
Proof of Concept
Fix
Previous#45368 [SC-Insight] Corruptible Upgradability PatternNext#45379 [SC-Low] Frontrunning Vulnerability in createAgentVault Suffix Reservation
Was this helpful?