When users deposit, the deposit function adds their address to the array, over time this array will grow very large and cause a DOS in the system.
The deposit function keeps adding new addresses to the accounts array over time this array will cause a dos in the system.
One of the affected functions that loop through this array is the getAccountData() which is used to generate the Merkle tree.
This can happen naturally or might be as a result of cyber griefing attack.
The following functions will be DOSed.
getAccounts() https://github.com/Cyfrin/2024-09-stakelink/blob/main/contracts/core/priorityPool/PriorityPool.sol#L159
getAccountData() https://github.com/Cyfrin/2024-09-stakelink/blob/main/contracts/core/priorityPool/PriorityPool.sol#L461
The getAccountData() function is required to compute the Merkle tree this could lead to funds being stuck
Manual Analysis
Limit the size of the account array.
Implement a minimum deposit.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.