Submitted by hassanshakeel13
The enabling of yeild on rebasing tokens can be permanently DOS-ed.
Abracadabra uses this signature for the configure function for the rebasing function of WETH and USDB
But the actual signature for this is:
And it returns the balance of caller
https://github.com/blast-io/blast/blob/c39cdf1fa7ef9e0d4eaf64a7a5cf7b3c46c739fd/blast-optimism/packages/contracts-bedrock/src/L2/ERC20Rebasing.sol#L220C2-L226
So if the balance of contract is above 2, this function becomes unusable and cant configure the yeild to be claimable.
The following function always fails:
https://github.com/code-423n4/2024-03-abracadabra-money/blob/1f4693fdbf33e9ad28132643e2d6f7635834c6c6/src/blast/libraries/BlastYields.sol#L20-L27
This can be exploited by attacker by donating a very little amount of eth to the magicLP, blastOnBoarding and now the blastOnBoarding cant make yeild claimable when the following function is invoked.
https://github.com/code-423n4/2024-03-abracadabra-money/blob/1f4693fdbf33e9ad28132643e2d6f7635834c6c6/src/blast/BlastOnboarding.sol#L175C14-L183
Use the correct signature used in blast codebase.
0xCalibur (Abracadabra) confirmed and commented:
cccz (Judge) decreased severity to Medium and commented:
Note: For full discussion, see here.
