The overflow check in the mulWadUp
function of the MathMasters library is flawed due to the or
operation. If x
contains only one bit different from div(not(0),y)
, the result of the or
operation will be greater than x
. Even if div(not(0),y) == x
, as x
is not strictly superior to x
, the condition won't be true.
Likelihood: High
Every call
Impact: High
The function will overflow if . This behavior can be exploited by an attacker attempting to manipulate any contract using this library.
Use the same check in MathMasters::mulWad
.
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.