Security Digest · Critical advisory (no CVE assigned)
GHSA-jg6f-48ff-5xrw: IBC-Go has Non-deterministic JSON Unmarshalling of IBC Acknowledgement
Name: ASA-2025-004: Non-deterministic JSON Unmarshalling of IBC Acknowledgement can result in a chain halt Component: IBC-Go Criticality: Critical (Considerable Impact; Almost Certain Likelihood per ACMv1.2) Affected versions: IBC-Go >= v7; Earlier IBC-Go versions may also be affected.
CVSS 9.3 Critical GitHub-reviewed · critical
Should you act?
- Only if you depend on one of the packages below, directly or transitively, in a vulnerable version. Check your lockfile with
govulncheck ./.... - No CVE has been assigned, so it will not appear in CVE-based scanners that ignore GitHub advisories.
npm audit,pip-auditand Dependabot do read GitHub advisories.
Affected packages
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| Go | github.com/cosmos/ibc-go | < 7.9.2 | none listed |
| Go | github.com/cosmos/ibc-go/v2 | < 7.9.2 | none listed |
| Go | github.com/cosmos/ibc-go/v3 | < 7.9.2 | none listed |
| Go | github.com/cosmos/ibc-go/v4 | < 7.9.2 | none listed |
| Go | github.com/cosmos/ibc-go/v5 | < 7.9.2 | none listed |
| Go | github.com/cosmos/ibc-go/v6 | < 7.9.2 | none listed |
| Go | github.com/cosmos/ibc-go/v7 | < 7.9.2 | 7.9.2 |
| Go | github.com/cosmos/ibc-go/v8 | < 8.6.1 | 8.6.1 |
Details
Name: ASA-2025-004: Non-deterministic JSON Unmarshalling of IBC Acknowledgement can result in a chain halt Component: IBC-Go Criticality: Critical (Considerable Impact; Almost Certain Likelihood per ACMv1.2) Affected versions: IBC-Go >= v7; Earlier IBC-Go versions may also be affected. Affected users: Validators, Full nodes, IBC Middleware authors
Description
An issue was discovered in IBC-Go's deserialization of acknowledgements that results in non-deterministic behavior which can halt a chain. Any user that can open an IBC channel can introduce this state to the chain
Patches
The new IBC-Go releases below address this issue:
v7.9.2 v8.6.1
Workarounds
To prevent this state from being introduced to a chain, it is possible to permission Channel Opening as a workaround.
CVSS: 9.3 (v4.0) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Sources and references
- GitHub Advisory GHSA-jg6f-48ff-5xrw github.com
- github.com github.com
- github.com github.com
- github.com github.com