RustFund

First Flight #36
Beginner FriendlyRust
100 EXP
View results
Submission Details
Severity: medium
Valid

Deadline Flag Not Updated. Malicious creator can keep updating deadline to prevent contributor refund

Summary

In the `set_deadline` function, the contract checks `fund.dealine_set` to ensure a deadline has not already been set. However, after successfully setting the deadline, it does not update this flag to `true`. This omission makes the check ineffective, as the deadline can be overwritten multiple times.

Vulnerability Details

pub fn set_deadline(ctx: Context<FundSetDeadline>, deadline: u64) -> Result<()> {
let fund = &mut ctx.accounts.fund;
if fund.dealine_set {
return Err(ErrorCode::DeadlineAlreadySet.into());
}
fund.deadline = deadline;
Ok(())
}

Impact

Malicious creator can keep updating deadline to prevent contributor refund

Tools Used

N/A

Recommendations

Update the set_deadline function to include:

fund.dealine_set = true;
Updates

Appeal created

bube Lead Judge 3 months ago
Submission Judgement Published
Validated
Assigned finding tags:

Deadline set flag is not updated in `set_deadline` function

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.