#38257 [SC-Insight] Freezing of msg.value passed in Bridge.deposit() if adapter is address zero
Submitted on Dec 29th 2024 at 09:32:35 UTC by @Shahen for Audit Comp | Lombard
Report ID: #38257
Report Type: Smart Contract
Report severity: Insight
Target: https://github.com/lombard-finance/evm-smart-contracts/blob/main/contracts/bridge/Bridge.sol
Impacts:
Temporary freezing of funds for at least 30 days
Description
Brief/Intro
When interacted with the contract by calling Bridge.deposit()
with a certain msg.value
, usually what happens is any excess eth > fee amount will be appended to refunds[fromAddress]
by the adapter therefore the msg.sender can withdraw the refund later, But if adapter is == address(0) any passed eth through the Bridge.deposit()
function will be stuck in the Bridge contract without a refund.
Please refer to the below coded foundry poc, Run forge test -vvv
, Install the foundry plugin for hardhat.
(Note - Also comment out _disableInitializers()
inside the constructors of both LBTC and Bridge contracts to run this test.)
Vulnerability Details
Same as above Brief/Intro
Impact Details
Freezing of msg.value passed in Bridge.deposit() if adapter is address zero
References
https://github.com/lombard-finance/evm-smart-contracts/blob/a818ea0489178ccd00019edab24637c38501af7b/contracts/bridge/Bridge.sol#L147
Proof of Concept
Proof of Concept
Was this helpful?