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 trust-dns

Dependencies

(12 total, 8 outdated, 3 possibly insecure)

CrateRequiredLatestStatus
 chrono ⚠️^0.40.4.38maybe insecure
 data-encoding^2.1.02.5.0up to date
 data-encoding-macro^0.1.10.1.14up to date
 error-chain^0.1.120.12.4out of date
 futures^0.1.170.3.30out of date
 log^0.3.50.4.21out of date
 openssl ⚠️^0.9.80.10.64out of date
 rand^0.30.8.5out of date
 ring^0.120.17.8out of date
 tokio-core^0.10.1.18up to date
 trust-dns-proto ⚠️^0.20.23.2out of date
 untrusted^0.50.9.0out of date

Dev dependencies

(1 total, 1 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 openssl ⚠️^0.9.80.10.64out of date

Security Vulnerabilities

trust-dns-proto: Stack overflow when parsing malicious DNS packet

RUSTSEC-2018-0007

There's a stack overflow leading to a crash when Trust-DNS's parses a malicious DNS packet.

Affected versions of this crate did not properly handle parsing of DNS message compression (RFC1035 section 4.1.4). The parser could be tricked into infinite loop when a compression offset pointed back to the same domain name to be parsed.

This allows an attacker to craft a malicious DNS packet which when consumed with Trust-DNS could cause stack overflow and crash the affected software.

The flaw was corrected by trust-dns-proto 0.4.3 and upcoming 0.5.0 release.

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

openssl: `openssl` `X509NameBuilder::build` returned object is not thread safe

RUSTSEC-2023-0022

OpenSSL has a modified bit that it can set on on X509_NAME objects. If this bit is set then the object is not thread-safe even when it appears the code is not modifying the value.

Thanks to David Benjamin (Google) for reporting this issue.

openssl: `openssl` `SubjectAlternativeName` and `ExtendedKeyUsage::other` allow arbitrary file read

RUSTSEC-2023-0023

SubjectAlternativeName and ExtendedKeyUsage arguments were parsed using the OpenSSL function X509V3_EXT_nconf. This function parses all input using an OpenSSL mini-language which can perform arbitrary file reads.

Thanks to David Benjamin (Google) for reporting this issue.

openssl: `openssl` `X509Extension::new` and `X509Extension::new_nid` null pointer dereference

RUSTSEC-2023-0024

These functions would crash when the context argument was None with certain extension types.

Thanks to David Benjamin (Google) for reporting this issue.

openssl: `openssl` `X509VerifyParamRef::set_host` buffer over-read

RUSTSEC-2023-0044

When this function was passed an empty string, openssl would attempt to call strlen on it, reading arbitrary memory until it reached a NUL byte.