Normal behavior: donation handlers should only log/accept meaningful ETH transfers; fallback should not emit donation events for zero-value or accidental calls so off-chain monitors don’t get misleading signals.
Specific issue: the contract's fallback accepts any call (including zero-value calls) and emits SepEthDonated(msg.sender, msg.value) without validating msg.value. This allows anyone to spam the contract with zero-value calls that produce donation events, pollute logs, and mislead monitoring/alerting systems.
Likelihood: medium
Any external account or contract can call the fallback repeatedly (no auth), including bots and malconfigured tools.
Impact: Low
Event log pollution and false-positive donation signals for monitoring systems and analytics.
This PoC shows event SepEthDonated is emiited even when nothing is donated
Emit only on non-zero value (silent no-op on zero-value calls):
Accept donations via receive() only and reject unexpected fallback calls (recommended):
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.