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

Crate reqwest


(39 total, 15 outdated, 3 insecure)

 bytes^ of date
 http^ to date
 mime_guess^ to date
 serde^ to date
 serde_json^ to date
 serde_urlencoded^ to date
 url^ to date
 async-compression^ to date
 base64^ to date
 cookie^ of date
 cookie_store^ of date
 encoding_rs^ to date
 futures-core^ to date
 http-body^ of date
 hyper-rustls^ of date
 hyper-tls^ of date
 ipnet^ to date
 lazy_static^ to date
 log^ to date
 mime^ to date
 native-tls^ to date
 percent-encoding^ to date
 pin-project-lite^ to date
 rustls^ of date
 rustls-native-certs^ of date
 tokio^ of date
 tokio-rustls^ of date
 tokio-socks^ of date
 tokio-tls^ to date
 trust-dns-resolver^ of date
 webpki-roots^ of date
 js-sys^0.3.450.3.50up to date
 wasm-bindgen^0.2.680.2.73up to date
 wasm-bindgen-futures^ to date
 web-sys^ to date
 winreg^ of date

Dev dependencies

(8 total, 3 outdated, 1 insecure)

 brotli^ to date
 doc-comment^ to date
 env_logger^ of date
 libflate^ to date
 serde^ to date
 tokio^ of date
 wasm-bindgen-test^ to date

Security Vulnerabilities

futures-util: MutexGuard::map can cause a data race in safe code


Affected versions of the crate had a Send/Sync implementation for MappedMutexGuard that only considered variance on T, while MappedMutexGuard dereferenced to U.

This could of led to data races in safe Rust code when a closure used in MutexGuard::map() returns U that is unrelated to T.

The issue was fixed by fixing Send and Sync implementations, and by adding a PhantomData<&'a mut U> marker to the MappedMutexGuard type to tell the compiler that the guard is over U too.

time: Potential segfault in the time crate



Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires the user to set any environment variable in a different thread than the affected functions.

The affected functions are:

  • time::UtcOffset::local_offset_at
  • time::UtcOffset::try_local_offset_at
  • time::UtcOffset::current_local_offset
  • time::UtcOffset::try_current_local_offset
  • time::OffsetDateTime::now_local
  • time::OffsetDateTime::try_now_local

Non-Unix targets are unaffected. This includes Windows and wasm.


Pending a proper fix, the internal method that determines the local offset has been modified to always return None on the affected operating systems. This has the effect of returning an Err on the try_* methods and UTC on the non-try_* methods.

Users and library authors with time in their dependency tree should perform cargo update, which will pull in a the updated, unaffected code.


No workarounds are known.



hyper: Multiple Transfer-Encoding headers misinterprets request payload


hyper's HTTP server code had a flaw that incorrectly understands some requests with multiple transfer-encoding headers to have a chunked payload, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that understands the request payload boundary differently can result in "request smuggling" or "desync attacks".