Closed howlbot-integration[bot] closed 1 month ago
gzeoneth (sponsor) disputed
Out-of-scope, also invalid. Batch posting report is the protocol paying the batch poster, where gas refunder is used for the batch poster to pay itself from a cold wallet.
Indeed the same behavior was there in https://github.com/OffchainLabs/nitro-contracts/blob/77ee9de042de225fab560096f7624f3d13bd12cb/src/bridge/SequencerInbox.sol
Picodes marked the issue as unsatisfactory: Out of scope
Lines of code
https://github.com/code-423n4/2024-05-arbitrum-foundation/blob/6f861c85b281a29f04daacfe17a2099d7dad5f8f/src/bridge/SequencerInbox.sol#L508
Vulnerability details
The sequencer contract is been refunding the BatchPoster for gas used calling the function
addSequencerL2BatchFromBlobs
see therefundsGas
modifier:if the
reader4844
is set it, the modifier is refunding the blob gas too see the arrow above.The problem is that the blob gas fee is been refunded in the
addSequencerL2BatchFromBlobsImpl
function:[Link]
Impact
the blobGas is been refunded twice in
addSequencerL2BatchFromBlobs
functions making the protocol loss funds.Proof of Concept
The BatchPoster is been refunded first in
addSequencerL2BatchFromBlobsImpl
function (see arrow below):[Link]
And second in
refundsGas
modifier (see the arrow below):Tools Used
Manual.
Recommended Mitigation Steps
Consider don't refund the BatchPoster in the
addSequencerL2BatchFromBlobsImpl
function since the blob gas is been refunding in therefundsGas
modifier.Assessed type
Other