RUSTSEC-2020-0124

ArcGuard's Send and Sync should have bounds on RC

Issued
Package
async-coap (crates.io)
Type
Vulnerability
Categories
  • memory-corruption
  • thread-safety
Details
https://github.com/google/rust-async-coap/issues/33
Patched
no patched versions

Description

Affected versions of this crate implement Send/Sync for ArcGuard<RC, T> with no trait bounds on RC. This allows users to send RC: !Send to other threads and also allows users to concurrently access Rc: !Sync from multiple threads.

This can result in memory corruption from data race or other undefined behavior caused by sending T: !Send to other threads (e.g. dropping MutexGuard<T> in another thread that didn't lock its mutex).

More