-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Large token holder can permanently brick FM_Rebasing_v1
deposits
#149
Comments
Mistake in the coded poc: forgot to |
Amount of funds needed per token for the attacker to execute this attack (only some of the +$300M market cap tokens not including the absurd amount of memetokens)
|
Continuation of #145 as linked. |
It actually goes hand in hand with 15, 38 and 47 |
I agree that #145 is a duplicate of #15, but I think this submission is a a completely different attack scenario from these and the mentioned ones. It has a different and higher impact: it would DOS the whole system and gas-grief all depositing users (until governance action) without the attacker needing to cost any capital besides the gas-fees. I would also like to mention that this issue is not limited to certain low $ value per wei tokens (although it's easiest to exploit with those) but by the attacker's capital. If we take the recommendations of the mentioned submissions this is still exploitable if the attacker holds enough funds or if the orchestrator owner set too low settings at initialization (while I think it would be beneficial to consider a setter function for |
Github username: @0xfuje
Twitter username: 0xfuje
Submission hash (on-chain): 0x7a4ed70844388a628a698c76306972e99f6d78b0e2fd48c4c6b4ad4ff7da4fcc
Severity: high
Description:
Impact
Permanent denial of service of rebasing funding manager, gas griefing of depositors since their deposit will revert
Description
The root of the problem is that the
DEPOSIT_CAP
of rebasing funding manager is fixed and can be easily reachable to a large token holder, especially if the token has a low $ per wei ratio or a token with high decimals (more on this in #145). This is essentially a zero-cost griefing attack, if we are not including the gas fees, which are minimal because the project plans to deploy onOP
,Linea
andPolygon
currently and_deposit()
is not a very gas intensive operation. I can provide calculations with mainnet fees if needed.Proof of Concept - Described
10_000 * 1e18
tokens toFM_Rebasing_v1
DEPOSIT_CAP
amount of tokensDeposits already in place scenario
If there are already deposited funds, the attacker can spend
alreadyDepositedFundsInFundingManager
less to reach theDEPOSIT_CAP
to brick all new deposits.FM_Rebasing_v1.sol
-_deposit()
Proof of Concept - Coded
FM_Rebasing_v1.t.sol
forge test --match-test testDepositBrick -vvvv
Recommendation
Consider to allow an option to set a higher
depositCap
at initialization (and potentially a setter function for orchestrator admin). Consider to addfee
functionality toFM_Rebasing_v1.sol
funding manager: this would make it unpractical for an attacker to execute this griefing attack.The text was updated successfully, but these errors were encountered: