GHSA-6jrf-4jv4-r9mw: Tendermint light client verifier Tendermint-rs's Light Client Verifier Allows Vulnerability
HIGHGHSA-6jrf-4jv4-r9mw is a HIGH tendermint-rs's light client verifier allows vulnerability (CWE-863: Incorrect Authorization) affecting Tendermint light client verifier libraries in the crates.io ecosystem. The issue involves tendermint-rs's light client verifier allows malicious validators to spoof votes from other validators. Remediation is available by upgrading affected packages to version 0.40.3.
GHSA-6jrf-4jv4-r9mw at a Glance
How to Fix GHSA-6jrf-4jv4-r9mw
To remediate this vulnerability, upgrade all affected Tendermint light client verifier dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade tendermint-light-client-verifier to 0.40.3
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for tendermint-light-client-verifier
How to Check if You Are Affected
To determine whether your application is affected by GHSA-6jrf-4jv4-r9mw, inspect your project dependencies for Tendermint light client verifier:
inspect dependencies for tendermint-light-client-verifier
Analyze the terminal output to locate any version of Tendermint light client verifier in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.40.3), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-863: Incorrect Authorization, where the product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. In Tendermint light client verifier, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-6jrf-4jv4-r9mw Affected Tendermint light client verifier Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
tendermint-light-client-verifier
|
crates.io |
< 0.40.3
|
0.40.3
|
References
Frequently Asked Questions
What is GHSA-6jrf-4jv4-r9mw?
Which Tendermint light client verifier versions are affected?
What version fixes GHSA-6jrf-4jv4-r9mw?
Is tendermint-light-client-verifier affected?
What CWE is associated with GHSA-6jrf-4jv4-r9mw?
How can I check crates.io dependencies for GHSA-6jrf-4jv4-r9mw?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-6jrf-4jv4-r9mw",
"modified" : "2025-04-09T13:01:26Z",
"published" : "2025-04-09T13:01:26Z",
"aliases" : [ ],
"summary" : "tendermint-rs's Light Client Verifier allows malicious validators to spoof votes from other validators ",
"details" : "Name: ISA-2025-003: Malicious validator can spoof votes from other validators \nComponent: tendermint-rs\nCriticality: High (Catastrophic Impact; Rare Likelihood per [ACMv1.2](https://github.com/interchainio/security/blob/main/resources/CLASSIFICATION_MATRIX.md))\nAffected versions: <= v0.40.2\nAffected users: Everyone\n\n### Description\n\ntendermint-rs contains a critical vulnerability in its light client implementation due to insecure handling of corrupted validator sets. Because it doesn't check that the validator address is correctly derived from the validator's public key when counting votes, it is possible to spoof votes from other validators. The result is being able to construct the malicious block and cheat the light client. The light client will accept such a block, seemingly signed by 2/3+ majority.\n\n### Patches\n\nThe new tendermint-rs release [v0.40.3](https://github.com/informalsystems/tendermint-rs/releases/tag/v0.40.3) fixes this issue.\n\nUnreleased code in the main branch is patched as well.\n\n### Workarounds\n\nThere are no known workarounds for this issue.\n\n### Timeline\n\n* March 12, 2025, 13:41pm PST: Issue reported\n* March 12, 2025, 03:00am PST: Core team completes validation of issue\n\nThis issue was reported by Felix Wilhelm from [Asymmetric Research](https://www.asymmetric.re/).",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "crates.io",
"name" : "tendermint-light-client-verifier"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.40.3"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/informalsystems/tendermint-rs/security/advisories/GHSA-6jrf-4jv4-r9mw"
}, {
"type" : "WEB",
"url" : "https://github.com/informalsystems/tendermint-rs/commit/1aabcfe6a3c0678db22097543f7f7a662f0db34b"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/informalsystems/tendermint-rs"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-863" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2025-04-09T13:01:26Z",
"nvd_published_at" : null
}
}