Description:
The LikeRegistry
contract includes a receive()
function, allowing anyone to send ETH directly to the contract. However, it lacks any withdrawal mechanism or function to recover these funds. As a result, any ETH sent directly to this contract becomes irretrievably locked, effectively leading to a permanent loss of the transferred funds. This design oversight may pose significant financial loses and should be addressed to ensure proper fund management.
Impact: This vulnerability leads to permanent loss of the transferred funds.
Proof of Concept:
Import the LikeRegistry
contract into SoulboundProfileNFTTest
contract.
Place the following declaration into SoulboundProfileNFTTest
contract.
Place the following test into testSouldboundProfileNFT.t.sol
Recommended Mitigation: Consider adding withdraw function. Best thing to do here is allowing users to make withdraw.
Add this line to the LikeRegistry::Receive
function. That way we can track the balance of sender.
Add this function to LikeRegistry
.
Not the best design, but if you send money accidentally, that's a user mistake. Informational.
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.