Description:
The LikeRegistry
contract can receive ETH through direct transfers but lacks a mechanism to retrieve ETH sent outside of the likeUser()
function. Additionally, the withdrawFees()
function only withdraws the tracked totalFees
, leaving any other ETH permanently stuck in the contract.
Impact:
This has several severe impacts:
ETH sent directly to the contract (not via likeUser) becomes permanently stuck
Neither users nor admin can recover the stuck ETH
Loss of user funds if they accidentally send ETH to the contract
Violates the principle that contracts should have complete control over their funds
Test demonstrating ETH getting stuck in the contract:
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.