SwapAction.sol#balancerSwap
does not support native ETH as input token.
#70
Labels
2 (Med Risk)
Assets not at direct risk, but function/availability of the protocol could be impacted or leak value
bug
Something isn't working
M-37
primary issue
Highest quality submission among a set of duplicates
🤖_primary
AI based primary recommendation
🤖_121_group
AI based duplicate group recommendation
satisfactory
satisfies C4 submission criteria; eligible for awards
selected for report
This submission will be included/highlighted in the audit report
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
sufficient quality report
This report is of sufficient quality
Lines of code
https://github.com/code-423n4/2024-07-loopfi/blob/main/src/proxy/SwapAction.sol#L263
Vulnerability details
Impact
SwapAction.sol#balancerSwap
does not support native ETH as input token.Bug Description
SwapAction is used to swap tokens using Balancer/Uniswap or join/exit a Pendle pool. Pendle accepts native ETH as input token when joining a Pendle pool, and Balancer accepts native ETH during swap.
We can check that the SwapAction contract also supports passing native ETH as input token, because 1)
swap()
function, which serves as the entry function, is payable; 2)pendleJoin()
passes msg.value along when callingpendleRouter.addLiquiditySingleToken()
.However, the issue is that when performing a balancer swap by
balancerVault.batchSwap
, the msg.value is not passed along.Proof of Concept
N/A
Tools Used
Manual Review
Recommended Mitigation Steps
Assessed type
Other
The text was updated successfully, but these errors were encountered: