{"id":"CVE-2021-41135","aliases":["EUVD-2021-2140","GHSA-2p6r-37p9-89p2"],"status":"published","title":"Authz Module Non-Determinism","description":"The Cosmos-SDK is a framework for building blockchain applications in Golang. Affected versions of the SDK were vulnerable to a consensus halt due to non-deterministic behaviour in a ValidateBasic method in the x/authz module. The MsgGrant of the x/authz module contains a Grant field which includes a user-defined expiration time for when the authorization grant expires. In Grant.ValidateBasic(), that time is compared to the node’s local clock time. Any chain running an affected version of the SDK with the authz module enabled could be halted by anyone with the ability to send transactions on that chain. Recovery would require applying the patch and rolling back the latest block. Users are advised to update to version 0.44.2.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.01713,"percentile":0.77692,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-754"],"published":"2021-10-20T18:05:10Z","modified":"2026-10-20T10:55:06Z","fixes":[{"ecosystem":"Go","package":"github.com/cosmos/cosmos-sdk","fixed_in":["0.44.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/cosmos/cosmos-sdk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.43.0"},{"fixed":"0.44.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/cosmos/cosmos-sdk","ranges":[{"type":"SEMVER","events":[{"introduced":"0.43.0"},{"fixed":"0.44.2"}]}]}],"products":[{"vendor":"cosmos","product":"cosmos-sdk"},{"vendor":"interchain","product":"cosmos_sdk"}],"references":[{"url":"https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-2p6r-37p9-89p2","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/cosmos/cosmos-sdk/commit/68ab790a761e80d3674f821794cf18ccbfed45ee","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://forum.cosmos.network/t/cosmos-sdk-vulnerability-retrospective-security-advisory-jackfruit-october-12-2021/5349","tags":["x_refsource_MISC","x_transferred","Exploit","Vendor Advisory","evidence","web"]},{"url":"https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.2","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-41135","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-2p6r-37p9-89p2"},{"url":"https://github.com/cosmos/cosmos-sdk","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-41135","title":"Authz Module Non-Determinism","description":"The Cosmos-SDK is a framework for building blockchain applications in Golang. Affected versions of the SDK were vulnerable to a consensus halt due to non-deterministic behaviour in a ValidateBasic method in the x/authz module. The MsgGrant of the x/authz module contains a Grant field which includes a user-defined expiration time for when the authorization grant expires. In Grant.ValidateBasic(), that time is compared to the node’s local clock time. Any chain running an affected version of the SDK with the authz module enabled could be halted by anyone with the ability to send transactions on that chain. Recovery would require applying the patch and rolling back the latest block. Users are advised to update to version 0.44.2.","status":"published","published":"2021-10-20T18:05:10Z","modified":"2024-08-04T02:59:31.625Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-754"],"updated_at":"2026-11-02T14:32:59.105382Z"}],"euvd":[{"id":"EUVD-2021-2140","description":"The Cosmos-SDK is a framework for building blockchain applications in Golang. Affected versions of the SDK were vulnerable to a consensus halt due to non-deterministic behaviour in a ValidateBasic method in the x/authz module. The MsgGrant of the x/authz module contains a Grant field which includes a user-defined expiration time for when the authorization grant expires. In Grant.ValidateBasic(), that time is compared to the node’s local clock time. Any chain running an affected version of the SDK with the authz module enabled could be halted by anyone with the ability to send transactions on that chain. Recovery would require applying the patch and rolling back the latest block. Users are advised to update to version 0.44.2.","status":"published","published":"2021-10-20T18:05:10Z","modified":"2024-08-04T02:59:31Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-03T03:24:19.242491Z"}],"ghsa":[{"id":"GHSA-2p6r-37p9-89p2","title":"Authz Module Non-Determinism","description":"### Impact\n\nConsensus failure for 0.43.x and 0.44.{0,1} users. \nFunds and balances are safe.\n\n### Patches\n\n0.44.2\n\n### Workarounds\n\nManually patch the code.\n\n---\n\nFull details posted in https://forum.cosmos.network/t/cosmos-sdk-vulnerability-retrospective-security-advisory-jackfruit-october-12-2021/5349.","status":"published","published":"2021-10-21T17:46:57Z","modified":"2023-02-01T05:06:23Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-754"],"updated_at":"2026-11-02T14:36:38.281533Z"}],"nvd":[{"id":"CVE-2021-41135","description":"The Cosmos-SDK is a framework for building blockchain applications in Golang. Affected versions of the SDK were vulnerable to a consensus halt due to non-deterministic behaviour in a ValidateBasic method in the x/authz module. The MsgGrant of the x/authz module contains a Grant field which includes a user-defined expiration time for when the authorization grant expires. In Grant.ValidateBasic(), that time is compared to the node’s local clock time. Any chain running an affected version of the SDK with the authz module enabled could be halted by anyone with the ability to send transactions on that chain. Recovery would require applying the patch and rolling back the latest block. Users are advised to update to version 0.44.2.","status":"published","published":"2021-10-20T18:15:07.807Z","modified":"2026-06-17T04:07:56.683Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"},{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-754"],"updated_at":"2026-11-02T14:07:00.137719Z"}],"osv":[{"id":"CVE-2021-41135","description":"The Cosmos-SDK is a framework for building blockchain applications in Golang. Affected versions of the SDK were vulnerable to a consensus halt due to non-deterministic behaviour in a ValidateBasic method in the x/authz module. The MsgGrant of the x/authz module contains a Grant field which includes a user-defined expiration time for when the authorization grant expires. In Grant.ValidateBasic(), that time is compared to the node’s local clock time. Any chain running an affected version of the SDK with the authz module enabled could be halted by anyone with the ability to send transactions on that chain. Recovery would require applying the patch and rolling back the latest block. Users are advised to update to version 0.44.2.","status":"published","published":"2021-10-20T18:15:07.807Z","modified":"2026-10-20T10:55:06.746431639Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:21.249056Z"},{"id":"GHSA-2p6r-37p9-89p2","title":"Authz Module Non-Determinism","description":"### Impact\n\nConsensus failure for 0.43.x and 0.44.{0,1} users. \nFunds and balances are safe.\n\n### Patches\n\n0.44.2\n\n### Workarounds\n\nManually patch the code.\n\n---\n\nFull details posted in https://forum.cosmos.network/t/cosmos-sdk-vulnerability-retrospective-security-advisory-jackfruit-october-12-2021/5349.","status":"published","published":"2021-10-21T17:46:57Z","modified":"2026-07-08T06:28:41.904459282Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-754"],"updated_at":"2026-11-02T15:46:34.700741Z"}]}}
