This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.

Crate lib3h

Dependencies

(14 total, 12 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 failure=0.1.50.1.8out of date
 hcid=0.0.60.0.6up to date
 holochain_persistence_api=0.0.60.0.18out of date
 lazy_static=1.2.01.4.0out of date
 lib3h_crypto_api=0.0.80.0.42out of date
 lib3h_protocol=0.0.80.0.42out of date
 log=0.4.60.4.21out of date
 native-tls=0.2.20.2.11out of date
 rmp-serde=0.13.71.2.0out of date
 serde=1.0.891.0.198out of date
 serde_derive=1.0.891.0.198out of date
 tungstenite ⚠️=0.6.10.21.0out of date
 url=1.7.22.5.0out of date
 url_serde=0.2.00.2.0up to date

Dev dependencies

(6 total, 5 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 backtrace=0.3.140.3.71out of date
 bincode=1.1.41.3.3out of date
 env_logger=0.6.10.11.3out of date
 lib3h_sodium=0.0.80.0.42out of date
 multihash ⚠️=0.8.00.19.1out of date
 unwrap_to=0.1.00.1.0up to date

Security Vulnerabilities

multihash: Unexpected panic in multihash `from_slice` parsing code

RUSTSEC-2020-0068

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.

tungstenite: Tungstenite allows remote attackers to cause a denial of service

RUSTSEC-2023-0065

The Tungstenite crate through 0.20.0 for Rust allows remote attackers to cause a denial of service (minutes of CPU consumption) via an excessive length of an HTTP header in a client handshake. The length affects both how many times a parse is attempted (e.g., thousands of times) and the average amount of data for each parse attempt (e.g., millions of bytes).