GHSA-2557-x9mg-76w8 json
ASA-2024-002: Default `PrepareProposalHandler` may produce invalid proposals when used with default `SenderNonceMempool`
published 2y ago modified 2y ago also GO-2024-2571
- cvss
- 5.3
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
## ASA-2024-002: Default `PrepareProposalHandler` may produce invalid proposals when used with default `SenderNonceMempool`
**Component**: Cosmos SDK **Criticality**: Medium **Affected** Versions: Cosmos SDK versions <= 0.50.3; <= 0.47.8 **Affected** Users: Chain developers, Validator and Node operators **Impact**: Denial of Service
## Summary
When using the default `PrepareProposalHandler` and the default `SenderNonceMempool`, an issue was identified which may allow invalid blocks to be proposed when a single sender includes multiple transactions with non-sequential sequence numbers in certain conditions. If this state is reached, it can lead to a reduction in block production for a network.
## Next Steps for Impacted Parties
If you are a chain developer on an affected version of the Cosmos SDK, it is advised to update to the latest available version of the Cosmos SDK for your project. Once a patched version is available, it is recommended that network operators upgrade.
A Github Security Advisory for this issue is available in the Cosmos-SDK [repository](https://github.com/cosmos/cosmos-sdk/security/advisories). For more information about Cosmos SDK, see https://docs.cosmos.network/.
This issue was found by [KonradStaniec](https://github.com/KonradStaniec), [gitferry](https://github.com/gitferry), [SebastianElvis](https://github.com/SebastianElvis), and [vitsalis](https://github.com/vitsalis) who reported it to the Cosmos Bug Bounty Program on HackerOne on January 16, 2024. If you believe you have found a bug in the Interchain Stack or would like to contribute to the program by reporting a bug, please see https://hackerone.com/cosmos.
Patch / fix
- go github.com/cosmos/cosmos-sdk 0.47.9, 0.50.4
Is GHSA-2557-x9mg-76w8 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/cosmos/cosmos-sdk | >=0.50.0, <0.50.4 <0.47.9 |
0.50.4 0.47.9 |
Classification
- Weakness
-
- CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input
References
-
github.com
/cosmos/cosmos-sdk/commit/c05850241e2d615721e3492d15fee4e1deec082b
web
-
github.com
/cosmos/cosmos-sdk/commit/fe32bcc1d65412c9b5737672956f0638c729ab7d
web, patch
-
github.com
/cosmos/cosmos-sdk/security/advisories/GHSA-2557-x9mg-76w8
web
-
github.com
/cosmos/cosmos-sdk
package
-
github.com
/cosmos/cosmos-sdk/releases/tag/v0.47.9
web
-
github.com
/cosmos/cosmos-sdk/releases/tag/v0.50.4
web
-
github.com
/advisories/GHSA-2557-x9mg-76w8
advisory
Sources
- GitHub Advisory GHSA-2557-x9mg-76w8
- OSV GO-2024-2571
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.