Issue: deposit records the stake under receiver but mints shares to msg.sender. An attacker can deposit with receiver = victim so the victim can later call cancelParticipation() and drain vault funds, while attacker keeps the shares.
Likelihood:
Happens whenever receiver != msg.sender is used (allowed by the API).
No check enforces receiver-sender consistency.
Impact:
Grief/Drain: a third party (the “receiver”) can cancel and get cash from the vault without any shares burned.
Shares remain with attacker to profit later.
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.