Skip to content
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

The return value of .call() is recorded but never acctually checked in the execute( ) function in UTBExecutor.sol does not accutally check, Line 70 #152

Closed
c4-bot-4 opened this issue Jan 22, 2024 · 6 comments
Labels
3 (High Risk) Assets can be stolen/lost/compromised directly bug Something isn't working duplicate-641 edited-by-warden insufficient quality report This report is not of sufficient quality unsatisfactory does not satisfy C4 submission criteria; not eligible for awards

Comments

@c4-bot-4
Copy link
Contributor

c4-bot-4 commented Jan 22, 2024

Lines of code

https://github.com/code-423n4/2024-01-decent/blob/07ef78215e3d246d47a410651906287c6acec3ef/src/UTBExecutor.sol#L70

Vulnerability details

Impact

The return value of .call() is recorded but never acctually checked in the execute( ) function in UTBExecutor.sol does not accutally check, Line 70
Although the function record the return value (the variable 'success' at https://github.com/code-423n4/2024-01-decent/blob/07ef78215e3d246d47a410651906287c6acec3ef/src/UTBExecutor.sol#L70) ,it does not actually check whether it is False.
So this call can fail silently

Proof of Concept

https://github.com/code-423n4/2024-01-decent/blob/07ef78215e3d246d47a410651906287c6acec3ef/src/UTBExecutor.sol#L70

Tools Used

Manual Analysis

Recommended Mitigation Steps

Check the return value after the call at https://github.com/code-423n4/2024-01-decent/blob/07ef78215e3d246d47a410651906287c6acec3ef/src/UTBExecutor.sol#L70

Assessed type

call/delegatecall

@c4-bot-4 c4-bot-4 added 3 (High Risk) Assets can be stolen/lost/compromised directly bug Something isn't working labels Jan 22, 2024
c4-bot-4 added a commit that referenced this issue Jan 22, 2024
@c4-bot-3 c4-bot-3 changed the title The execute( ) function in UTBExecutor,sol does not refund to users if extraNative==0 and the call fails. The return value of .call() is recorded but never acctually checked in the execute( ) function in UTBExecutor.sol does not accutally check, Line 70 Jan 22, 2024
@c4-pre-sort c4-pre-sort added the insufficient quality report This report is not of sufficient quality label Jan 24, 2024
@c4-pre-sort
Copy link

raymondfam marked the issue as insufficient quality report

@c4-pre-sort
Copy link

raymondfam marked the issue as duplicate of #70

@raymondfam
Copy link

Extremely insufficient proof to elicit what #70 does.

@c4-judge c4-judge reopened this Feb 2, 2024
@c4-judge
Copy link

c4-judge commented Feb 2, 2024

alex-ppg marked the issue as not a duplicate

@c4-judge
Copy link

c4-judge commented Feb 2, 2024

alex-ppg marked the issue as duplicate of #641

@c4-judge c4-judge closed this as completed Feb 2, 2024
@c4-judge c4-judge added duplicate-641 unsatisfactory does not satisfy C4 submission criteria; not eligible for awards labels Feb 2, 2024
@c4-judge
Copy link

c4-judge commented Feb 2, 2024

alex-ppg marked the issue as unsatisfactory:
Invalid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 (High Risk) Assets can be stolen/lost/compromised directly bug Something isn't working duplicate-641 edited-by-warden insufficient quality report This report is not of sufficient quality unsatisfactory does not satisfy C4 submission criteria; not eligible for awards
Projects
None yet
Development

No branches or pull requests

5 participants