The Horse Store project's Huff rendition of its NFT contract currently lacks the functionality to reject Ether transfers. This omission potentially allows users to inadvertently send Ether to the contract, which may result in the loss of funds, as the contract does not have a mechanism to return or utilize these Ether.
In its current state, the Huff version of the NFT contract does not contain checks or restrictions against receiving Ether. This could happen in two ways:
Direct Ether transfers to the contract address.
Executing functions with a non-zero msg.value
.
Without appropriate safeguards, these actions could lead to Ether being permanently locked within the contract, as there is no function to withdraw or refund the Ether.
The potential impact of this vulnerability includes:
Unintentional loss of funds for users who mistakenly send Ether to the contract.
Negative user experience and possible reputational damage for the project.
Increased scrutiny and potential security concerns from the community and stakeholders.
Manual review
To mitigate this vulnerability and enhance the security of the contract, is recommended to implement a check in the Huff dispatcher to reject all incoming Ether transfers. This can be achieved by adding a condition that reverts the transaction if msg.value
is greater than zero.
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.