CVE-2024-41945 The fuels-ts typescript SDK has no awareness of to-be-spent transactions

Low 3.1 Published Updated

The Fuel TypeScript SDK fails to track spent UTXOs, causing transactions to fail or be silently pruned from the mempool.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-41945?

CVE-2024-41945 is a low-severity vulnerability in FuelLabs fuels-ts, published on 30 Jul 2024. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

fuels-ts is a library for interacting with Fuel v2. The typescript SDK has no awareness of to-be-spent transactions causing some transactions to fail or silently get pruned as they are funded with already used UTXOs. The problem occurs, because the `fund` function in `fuels-ts/packages/account/src/account.ts` gets the needed ressources statelessly with the function `getResourcesToSpend` without taking into consideration already used UTXOs. This issue will lead to unexpected SDK behaviour, such as a transaction not getting included in the `txpool` / in a block or a previous transaction silently getting removed from the `txpool` and replaced with a new one.

Weakness: CWE-20

Which versions are affected by CVE-2024-41945?

2 open source packages ship an affected version, including @fuel-ts/account.

PackageAffectedFixed in
@fuel-ts/account npmAll versions0.93.0
@fuel-ts/account npmAll versions0.93.0

How do I fix CVE-2024-41945?

Upgrade @fuel-ts/account to 0.93.0 or later.

Is CVE-2024-41945 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-41945 exists.

Sources

Also known as GHSA-3jcg-vx7f-j6qf.

Is CVE-2024-41945 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free