Platform: Code4rena
Start Date: 03/05/2022
Pot Size: $75,000 USDC
Total HM: 6
Participants: 55
Period: 7 days
Judge: Albert Chon
Total Solo HM: 2
Id: 116
League: COSMOS
Rank: 12/55
Findings: 3
Award: $1,239.62
🌟 Selected for report: 0
🚀 Solo Findings: 0
checkValidatorSignatures should check if the cumlativPower is greater than or equal to the threshold as threshold is 2/3 of the validators and if exact number threholders validators sign the message it will not be executed because it it checking if the cumlativPower is greater than the threshold on line 247 and 255
require( cumulativePower > _powerThreshold, );
Manual
use require( cumulativPower >= _powerThrehold
#0 - V-Staykov
2022-05-11T11:13:33Z
Duplicate of #123
The sendToCosmos
function of Gravity transfers _amount of _tokenContract from the sender using the function safeTransferFrom. If the transferred token is a transfer-on-fee/deflationary token, the actually received amount could be less than _amount. However, since _amount is passed as a parameter of the SendToCosmosEvent event, the Cosmos side will think more tokens are locked on the Ethereum side.
https://github.com/code-423n4/2021-08-gravitybridge-findings/issues/62
Manual
calculate the the contract balance before and after depositing
#0 - mlukanova
2022-05-10T14:50:55Z
Duplicate of #3
🌟 Selected for report: IllIllI
Also found by: 0x1337, 0x1f8b, 0xDjango, 0xkatana, AmitN, CertoraInc, Dravee, Funen, GermanKuber, GimelSec, Hawkeye, JC, MaratCerby, WatchPug, Waze, broccolirob, cccz, ch13fd357r0y3r, cryptphi, danb, defsec, delfin454000, dipp, dirk_y, ellahi, gzeon, hake, hubble, ilan, jah, jayjonah8, kebabsec, kirk-baird, m9800, orion, oyc_109, robee, shenwilly, simon135, sorrynotsorry
116.8087 USDC - $116.81
veryfySig will always return address(0) if the signature is not correct so it is better to check if the returned value is not address(0)
Provide direct links to all referenced code in GitHub. Add screenshots, logs, or any other relevant proof that illustrates the concept.
Manual
check if the returned value is not address(0)