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 tiny_http


(8 total, 2 outdated, 2 possibly insecure)

 ascii^ to date
 chunked_transfer^11.5.0up to date
 httpdate^ to date
 log^ to date
 openssl ⚠️^ insecure
 rustls ⚠️^ of date
 rustls-pemfile^ of date
 zeroize^11.8.1up to date

Dev dependencies

(3 total, 2 outdated, 1 insecure)

 fdlimit^ of date
 rustc-serialize ⚠️^
 sha1^ of date

Security Vulnerabilities

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


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.

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


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.

rustls: `rustls::ConnectionCommon::complete_io` could fall into an infinite loop based on network input


If a close_notify alert is received during a handshake, complete_io does not terminate.

Callers which do not call complete_io are not affected.

rustls-tokio and rustls-ffi do not call complete_io and are not affected.

rustls::Stream and rustls::StreamOwned types use complete_io and are affected.