An issue was discovered in the async-coap crate through 2020-12-08 for Rust.
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).
{
"cwe_ids": [
"CWE-119",
"CWE-362"
],
"severity": "HIGH",
"github_reviewed": true,
"nvd_published_at": "2021-08-08T06:15:00Z",
"github_reviewed_at": "2021-08-09T21:45:44Z"
}