This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate edcert

Dependencies

(4 total, 3 outdated, 1 insecure, 2 possibly insecure)

CrateRequiredLatestStatus
 chrono ⚠️^0.20.4.38out of date
 rustc-serialize ⚠️^0.30.3.25insecure
 secrets^0.11.11.2.0out of date
 sodiumoxide ⚠️^0.0.120.2.7out of date

Security Vulnerabilities

sodiumoxide: scalarmult() vulnerable to degenerate public keys

RUSTSEC-2017-0001

The scalarmult() function included in previous versions of this crate accepted all-zero public keys, for which the resulting Diffie-Hellman shared secret will always be zero regardless of the private key used.

This issue was fixed by checking for this class of keys and rejecting them if they are used.

sodiumoxide: generichash::Digest::eq always return true

RUSTSEC-2019-0026

PartialEq implementation for generichash::Digest has compared itself to itself.

Digest::eq always returns true and Digest::ne always returns false.

chrono: Potential segfault in `localtime_r` invocations

RUSTSEC-2020-0159

Impact

Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.

Workarounds

No workarounds are known.

References

rustc-serialize: Stack overflow in rustc_serialize when parsing deeply nested JSON

RUSTSEC-2022-0004

When parsing JSON using json::Json::from_str, there is no limit to the depth of the stack, therefore deeply nested objects can cause a stack overflow, which aborts the process.

Example code that triggers the vulnerability is

fn main() {
    let _ = rustc_serialize::json::Json::from_str(&"[0,[".repeat(10000));
}

serde is recommended as a replacement to rustc_serialize.