High, CVSS 8.7crates.ioPublished
FuelVM is vulnerable to heap memory allocation re-use bug
GHSA-2pgj-5cv2-6xxw
- Affected
- crates.io fuel-vm < 0.59.3; >= 0.60.0, < 0.60.1
- Fixed in
- 0.59.30.60.1· Vendor fix available
- Issue
- Impact A memory safety vulnerability was present in the Fuel Virtual Machine (FuelVM), where memory reads could bypass expected access controls. Specifically, when a smart contract performed a mload (or other opcodes which access memory) on memory that had been deallocated using ret, it was still able to access the old memory contents. This occurred because the memory region was not zeroed out or otherwise marked as invalid. As a result, smart contracts could potentially read sensitive data left over from other contracts if the same memory was reallocated, violating isolation guarantees between contracts and enabling unintended data leakage. All users running affected versions of FuelVM that relied on strict memory isolation between smart contracts were impacted. Patches The vulnerability was patched by modifying the FuelVM to ensure that memory deallocated with ret was zeroed out or made inaccessible. The fix was included in FuelVM version v0.60.1 and back-ported to v0.59.3. This…
Recommended action: Upgrade to 0.60.1 or 0.59.3 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.