Some mathematical operations in cosmwasm-std
use wrapping math instead of
panicking on overflow for very big numbers. This can lead to wrong calculations in contracts
that use these operations.
Affected functions:
Uint{256,512}::pow
/ Int{256,512}::pow
Int{256,512}::neg
Affected if overflow-checks = true
is not set:
Uint{64,128}::pow
/ Int{64,128}::pow
Int{64,128}::neg
CPE | Name | Operator | Version |
---|---|---|---|
cosmwasm-std | lt | 2.0.2 | |
cosmwasm-std | lt | 1.5.4 | |
cosmwasm-std | lt | 1.4.4 |
github.com/advisories/GHSA-8724-5xmm-w5xq
github.com/CosmWasm/advisories/blob/main/CWAs/CWA-2024-002.md
github.com/CosmWasm/cosmwasm/commit/607e7fc710fb9441096e8edbaa12879b552c8f65
github.com/CosmWasm/cosmwasm/commit/a6a639e09adc355b5f889a09141649005cb08a46
github.com/CosmWasm/cosmwasm/commit/eff79bcbe73b61178817aacf0a6449437adad6a9
rustsec.org/advisories/RUSTSEC-2024-0338.html