The _harvestPlot function in the FieldFacet, when called through the harvest function with large arrays of plots, can lead to significant gas consumption. An attacker, who does not care about gas expenditures, can exploit this by repeatedly calling the harvest function with maximum plot arrays. This can cause the protocol to hit the Ethereum block gas limit, resulting in network congestion, increased gas prices, and potential denial of service for legitimate users.
1: The attacker identifies the harvest function and prepares a large array of plot indices.
2: The attacker repeatedly calls the harvest function with the large array, aiming to consume as much gas as possible.
3: Each call to _harvestPlot within harvest involves multiple state-changing operations, consuming significant gas. By filling the block gas limit, the attacker causes network congestion.
##Test
1: Legitimate users may face difficulty in interacting with the protocol due to high gas prices and delayed transaction processing.
2: Network congestion can lead to higher gas prices, making transactions more expensive for all users.
Manual review
1: Restrict the number of plots processed in a single transaction to reduce gas consumption per transaction.
2: Implement rate limiting to control the frequency of high-cost transactions by a single address.
3: Optimize functions to reduce gas consumption, making it less feasible for an attacker to exploit high gas usage.
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.