We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
THE EXPLOIT
We added a bountyExists check in DepositManager::fundBountyToken to prevent event spoofing. This is good.
bountyExists
DepositManager::fundBountyToken
We DID NOT add the same bountyExists protection on ClaimManagerV1::permissionedClaimTieredBounty(address,bytes) or ClaimManagerV1::claimBounty.
ClaimManagerV1::permissionedClaimTieredBounty(address,bytes)
ClaimManagerV1::claimBounty
This would cause spoofed ClaimSuccess, TokenBalanceClaimed, and BountyClosed events to be emitted.
ClaimSuccess
TokenBalanceClaimed
BountyClosed
It DOES NOT risk funds since the transfer methods only transfers the bounty addresses balance, which the attacker would not control
THE FIX
Add the same bountyExists check to permissionedClaimTieredBounty(address,bytes) and claimBounty(address,address,bytes)
permissionedClaimTieredBounty(address,bytes)
claimBounty(address,address,bytes)
The best practice violation was just a missing onlyProxy on the ClaimManager pause methods
onlyProxy
ClaimManager
pause
THE IMPACT
Our subgraph used in the frontend consumes these events. Data inconsistency can nuke much of our frontend logic.
We send emails to both claimants and event organizers based off of these events
The text was updated successfully, but these errors were encountered:
No branches or pull requests
THE EXPLOIT
We added a
bountyExists
check inDepositManager::fundBountyToken
to prevent event spoofing. This is good.We DID NOT add the same
bountyExists
protection onClaimManagerV1::permissionedClaimTieredBounty(address,bytes)
orClaimManagerV1::claimBounty
.This would cause spoofed
ClaimSuccess
,TokenBalanceClaimed
, andBountyClosed
events to be emitted.It DOES NOT risk funds since the transfer methods only transfers the bounty addresses balance, which the attacker would not control
THE FIX
Add the same
bountyExists
check topermissionedClaimTieredBounty(address,bytes)
andclaimBounty(address,address,bytes)
The best practice violation was just a missing
onlyProxy
on theClaimManager
pause
methodsTHE IMPACT
Our subgraph used in the frontend consumes these events. Data inconsistency can nuke much of our frontend logic.
We send emails to both claimants and event organizers based off of these events
The text was updated successfully, but these errors were encountered: