GitHub Advisoryadvisory · Go

GHSA-g99p-47x7-mq88 go-f3 module vulnerable to integer overflow leading to panic

HIGH Published 2025-09-29 Modified 2025-10-23 Official page ↗
Aliases
CVE-2025-59942
Ecosystem
Go
Packages
github.com/filecoin-project/go-f3
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-190
Reviewed
2025-09-29

Affected packages

• Go github.com/filecoin-project/go-f3: < 0.8.7 → fixed in 0.8.7

Description

Impact Filecoin nodes consuming F3 messages are vulnerable. go-f3 panics when it validates a "poison" messages. A "poison" message can can cause integer overflow in the signer index validation. In Lotus' case, the whole node will crash. There is no barrier to entry. An attacker doesn't need any power to pull off this attack. These malicious messages aren't self-propagating since the bug is in the validator. An attacker needs to directly send the message to all targets. Patches The fix was merged and released with go-f3 0.8.7. All node software (Lotus, Forest, Venus) are using a patched version of go-f3 with their updates for the nv27 network upgrade. go-f3 now does proper overflow checking using `math.MaxInt64` comparison and returns error `"justificationPower overflow"` when overflow would occur. Workarounds The are no immediate workarounds available. Nodes should upgrade to the patched version, which they will have done if participating in nv27 on Filecoin mainnet. Credits The initial finding(unrelated path) was reported by 0xNirix via bug bounty program which wasn't high issue. The further digging by developers led to this finding. Thank you for the contributions.

Related

Alias · CVE (1)

  • CVE-2025-59942 go-f3 is a Golang implementation of Fast Finality for Filecoin (F3). vulnerability

Weakness · CWE (1)

  • CWE-190 Integer Overflow or Wraparound weakness

References