Bug Description
Affected Component
- Contract:
EnglishAuction.sol
- Function:
bid(uint256 auctionId, uint256 bidAmount)
Problem Description
If an auctioneer creates an auction with a minimumBid of 0, an attacker can spam bids of 0. Because auction.highestBid is initialized to 0 and remains 0 after a zero-value bid, the condition auction.highestBid == 0 always evaluates to true. This entirely bypasses the minBidDelta requirement. The attacker can continuously bid 0 to permanently hijack the winner state and infinitely trigger the auction.deadline += auction.deadlineExtension logic without spending any funds.
Expected Behavior
Bids should be strictly greater than zero to be considered valid, preventing zero-value spam from manipulating the auction winner or extending the deadline indefinitely.
Steps to Reproduce
No response
Logs and Screenshots
No response
Environment Details
No response
Impact
Critical - Application is unusable
Code of Conduct
Bug Description
Affected Component
EnglishAuction.solbid(uint256 auctionId, uint256 bidAmount)Problem Description
If an auctioneer creates an auction with a
minimumBidof0, an attacker can spam bids of0. Becauseauction.highestBidis initialized to0and remains0after a zero-value bid, the conditionauction.highestBid == 0always evaluates to true. This entirely bypasses theminBidDeltarequirement. The attacker can continuously bid0to permanently hijack thewinnerstate and infinitely trigger theauction.deadline += auction.deadlineExtensionlogic without spending any funds.Expected Behavior
Bids should be strictly greater than zero to be considered valid, preventing zero-value spam from manipulating the auction winner or extending the deadline indefinitely.
Steps to Reproduce
No response
Logs and Screenshots
No response
Environment Details
No response
Impact
Critical - Application is unusable
Code of Conduct