RUSTSEC-2020-0068: multihash: Unexpected panic in multihash `from_slice` parsing code

Description

In versions prior 0.11.3 it’s possible to make from_slice panic by feeding it certain malformed input. It’s never documented that from_slice (and from_bytes which wraps it) can panic, and its’ return type (Result<Self, DecodeError>) suggests otherwise.

In practice, from_slice/from_bytes is frequently used in networking code (for example in rust-libp2p) and is being called with unsanitized data from untrusted sources. This can allow attackers to cause DoS by causing an unexpected panic in the network client’s code.

More Info

https://github.com/multiformats/rust-multihash/pull/72

Patched Versions