CVE-2022-23507 Light client verification not taking into account chain ID
Tendermint light client fails to verify chain IDs, allowing attackers to bypass verification with headers from other chains.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2022-23507?
CVE-2022-23507 is a medium-severity vulnerability in informalsystems tendermint-rs, published on 15 Dec 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Tendermint is a high-performance blockchain consensus engine for Byzantine fault tolerant applications. Versions prior to 0.28.0 contain a potential attack via Improper Verification of Cryptographic Signature, affecting anyone using the tendermint-light-client and related packages to perform light client verification (e.g. IBC-rs, Hermes). 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. This issue is patched in version 0.28.0. There are no workarounds.
Weakness: CWE-347
Which versions are affected by CVE-2022-23507?
6 open source packages ship an affected version, including tendermint-light-client, tendermint-light-client-js and tendermint-light-client-verifier. It affects 3 products.
| Package | Affected | Fixed in |
|---|---|---|
tendermint-light-client crates.io | All versions | 0.28.0 |
tendermint-light-client crates.io | All versions | 0.28.0 |
tendermint-light-client-js crates.io | All versions | 0.28.0 |
tendermint-light-client-js crates.io | All versions | 0.28.0 |
tendermint-light-client-verifier crates.io | All versions | 0.28.0 |
tendermint-light-client-verifier crates.io | All versions | 0.28.0 |
Products include Tendermint-Light-Client-Js Project Tendermint-Light-Client-Js, Tendermint-Light-Client-Verifier Project Tendermint-Light-Client-Verifier, Tendermint-Light-Client Project Tendermint-Light-Client.
How do I fix CVE-2022-23507?
Upgrade tendermint-light-client to 0.28.0 or later.
Is CVE-2022-23507 being exploited?
There is no known exploitation of CVE-2022-23507 in the wild and no public exploit code.
Sources
Also known as GHSA-xqqc-c5gw-c5r5.