GHSA-xqqc-c5gw-c5r5
Tendermint light client verification not taking into account chain ID
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| crates.io | tendermint-light-client-verifier | < 0.28.0 | 0.28.0 |
| crates.io | tendermint-light-client | < 0.28.0 | 0.28.0 |
| crates.io | tendermint-light-client-js | < 0.28.0 | 0.28.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
Anyone using the `tendermint-light-client` and related packages to perform light client verification (e.g. IBC-rs, Hermes).
At present, the light client does not check that the chain IDs of the trusted and untrusted headers match, resulting in a possible attack vector where someone who finds a header from an untrusted chain that satisfies all other verification conditions (e.g. enough overlapping validator signatures) could fool a light client.
The attack vector is currently theoretical, and no proof-of-concept exists yet to exploit it on live networks.
### Patches
Users of the light client-related crates can currently upgrade to `v0.28.0`.
### Workarounds
None
### References
- [Light Client specification](https://github.com/tendermint/tendermint/tree/main/spec/light-client)
References
External links from the advisory. They lead to third-party sites.