Description
ethereum is a common ethereum structs for Rust. Prior to ethereum crate v0.18.0, signature malleability (according to EIP-2) was only checked for "legacy" transactions, but not for EIP-2930, EIP-1559 and EIP-7702 transactions. This is a specification deviation. The signature malleability itself is not a security issue and not as high of a risk if the ethereum crate is used on a single-implementation blockchain. This issue has been patched in version v0.18.0. A workaround for this issue involves manually checking transaction malleability outside of the crate, however upgrading is recommended.
Problem types
CWE-754: Improper Check for Unusual or Exceptional Conditions
Product status
References
github.com/...hereum/security/advisories/GHSA-3w94-vq2x-v5wr
github.com/rust-ethereum/ethereum/pull/67
github.com/...ommit/2dd9d1d5d0936ec7350093ff3a5a7169a349db77