The Auction::businessAddress is the designated address that receives all USDC funds whenever someone purchases ZENO tokens by calling Auction::buy. This address is set once during deployment and is immutable.
This parameter is critical because it collects all USDC from purchases. After the auction closes, all collected USDC are transferred from this address back to ZENO for redemption. If the businessAddress is ever compromised or becomes inaccessible, all incoming auction funds would be lost, and subsequent redemptions would be impossible.
Additionally, although the documentation (see: https://github.com/Cyfrin/2025-02-raac/blob/main/docs/core/zeno/ZENO_BOND.md#ownership-and-access-control-2) references an updateBusinessAddress function for updating this address in case of compromise, no such function is actually implemented in the contract.
The businessAddress address is set in the constructor and cannot be modified after contract deployment.
During calls to Auction::buy, all funds are sent directly to this address. If it becomes compromised during the auction, participants will unknowingly continue sending funds to the compromised address. Since there is no mechanism to redirect these funds, the entire auction's proceeds could be lost, making any future redemptions impossible.
Manual review.
Implement the missing Auction::updateBusinessAddress function.
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.