use of msg.value >= premium
instead of ==
in buyOption()
#169
Labels
2 (Med Risk)
Assets not at direct risk, but function/availability of the protocol could be impacted or leak value
bug
Something isn't working
duplicate
This issue or pull request already exists
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
Lines of code
https://github.com/code-423n4/2022-05-cally/blob/1849f9ee12434038aa80753266ce6a2f2b082c59/contracts/src/Cally.sol#L224
Vulnerability details
Impact
When eth greater than required premium is sent to buy the option, surplus eth is lossed by the sender.
Proof of Concept
https://github.com/code-423n4/2022-05-cally/blob/1849f9ee12434038aa80753266ce6a2f2b082c59/contracts/src/Cally.sol#L224
When a user accidently sends 2 eth instead of required premium of 0.2 eth, the surplus eth is lost to by the user with no methods of refund
Tools Used
Manual Analysis
Recommended Mitigation Steps
Use
msg.value == premium
The text was updated successfully, but these errors were encountered: