#55208 [SC-Low] executors receive a greater reward than the assigned value

Submitted on Sep 24th 2025 at 11:33:14 UTC by @rick137 for Mitigation Audit | Flare | FAssets

  • Report ID: #55208

  • Report Type: Smart Contract

  • Report severity: Low

  • Target: https://github.com/flare-foundation/fassets/commit/7dd1ddd574989c44b3057ce426ff188bc69743d1

  • Impacts:

    • Contract fails to deliver promised returns, but doesn't lose value

Description

Root Cause

Minters are required to pay a reservation fee to mint new fAsset. Furthermore, minters may designate an address as an executor to carry out their minting process, and the executor receives a reward determined by the minter. However, the executor may receive a reward exceeding the allocated value, resulting in a loss of funds for the minter.

The reservation fee is defined as valueAMG in terms of NAT token times collateralReservationFeeBIPS. This means NAT's price has an impact on the final payout by the minter.

Issue path (example scenario):

  • Assume NAT's price is $1 and collateralReservationFeeBIPS is 1%.

  • The minter establishes a reservation collateral for 1 lot with 150 NAT as msg.value, allocating 100 NAT for the reservation fee and 50 NAT for the executor.

  • The price of NAT rises to $1.1 upon the execution of the minter's transaction, resulting in a reservation fee of 90 NAT and an executor fee of 59 NAT, which exceeds the amount the minter designated for the executor. The final payout should be 90 NAT plus 50 NAT, totaling 140 NAT, not 150 NAT.

Proof of Concept

Console output:

(End of report)

Was this helpful?