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 mps

Dependencies

(10 total, 3 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 cfg-if^1.0.01.0.4up to date
 clap^4.54.5.52up to date
 color-eyre^0.60.6.5up to date
 fast-float2 ⚠️^0.20.2.3maybe insecure
 hashbrown ⚠️^0.150.16.0out of date
 indexmap^2.02.12.0up to date
 nom^7.18.0.0out of date
 nom-tracable^0.90.9.1up to date
 nom_locate^4.25.0.0out of date
 serde^1.01.0.228up to date

Dev dependencies

(3 total, 1 outdated)

CrateRequiredLatestStatus
 criterion^0.50.7.0out of date
 insta^1.411.43.2up to date
 proptest^1.61.9.0up to date

Security Vulnerabilities

hashbrown: Borsh serialization of HashMap is non-canonical

RUSTSEC-2024-0402

The borsh serialization of the HashMap did not follow the borsh specification. It potentially produced non-canonical encodings dependent on insertion order. It also did not perform canonicty checks on decoding.

This can result in consensus splits and cause equivalent objects to be considered distinct.

This was patched in 0.15.1.

fast-float2: Segmentation fault due to lack of bound check

RUSTSEC-2025-0002

In this case, the "fast_float2::common::AsciiStr::first" method within the "AsciiStr" struct uses the unsafe keyword to reading from memory without performing bounds checking. Specifically, it directly dereferences a pointer offset by "self.ptr". Because of the above reason, the method accesses invalid memory address when it takes an empty string as its input. This approach violates Rust’s memory safety guarantees, as it can lead to invalid memory access if empty buffer is provided.