VDB
Sign up
MEDIUM5.4

GHSA-xqqc-c5gw-c5r5

Tendermint light client verification not taking into account chain ID

Details

### 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)

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io/tendermint-light-client-verifier
Introduced in: 0Fixed in: 0.28.0

Upgrade tendermint-light-client-verifier to 0.28.0 or newer (ecosystem crates.io).

crates.io/tendermint-light-client
Introduced in: 0Fixed in: 0.28.0

Upgrade tendermint-light-client to 0.28.0 or newer (ecosystem crates.io).

crates.io/tendermint-light-client-js
Introduced in: 0Fixed in: 0.28.0

Upgrade tendermint-light-client-js to 0.28.0 or newer (ecosystem crates.io).

References