-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
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
use_safe_approve
is not correctly implemented and would lead to approveTarget() breaking if used while the bool is set to true
#987
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-1662
low quality report
This report is of especially low quality
unsatisfactory
does not satisfy C4 submission criteria; not eligible for awards
Comments
code423n4
added
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
labels
Sep 3, 2023
bytes032 marked the issue as duplicate of #928 |
bytes032 marked the issue as not a duplicate |
bytes032 marked the issue as duplicate of #1455 |
bytes032 marked the issue as duplicate of #1782 |
bytes032 marked the issue as not a duplicate |
bytes032 marked the issue as duplicate of #1662 |
c4-pre-sort
added
duplicate-1662
low quality report
This report is of especially low quality
labels
Sep 11, 2023
bytes032 marked the issue as low quality report |
c4-judge
added
the
unsatisfactory
does not satisfy C4 submission criteria; not eligible for awards
label
Oct 6, 2023
GalloDaSballo marked the issue as unsatisfactory: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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-1662
low quality report
This report is of especially low quality
unsatisfactory
does not satisfy C4 submission criteria; not eligible for awards
Lines of code
https://github.com/code-423n4/2023-08-dopex/blob/eb4d4a201b3a75dd4bddc74a34e9c42c71d0d12f/contracts/amo/UniV3LiquidityAmo.sol#L139-L152
Vulnerability details
Impact
Break in contract's logic since approvals can't be set for tokens that require
use_safe_approve
to be trueProof of Concept
It's pretty common that
safeApprove()
breaks logic in contracts, in the sense where there is any leftover allowance.Sponsors know about this which is why these commented lines from the approveTarget() function state the below:
Problem is that the code does not follow the above, cause instead of calling
safeApprove(_token, _target, 0 )
first thensafeApprove(_token, _target, _amount)
only the latter is called, which leads this to always revertClick to see full referenced code
Tool used
Manual Audit
Recommended Mitigation Steps
Set the allowance to 0 first before new value for
use_safe_approve
type of tokensAssessed type
Error
The text was updated successfully, but these errors were encountered: