RUSTSEC-2020-0138
on 2020-11-10: ReaderResult should be bounded by Sync
This crate has no reviews yet. To add a review, set up your cargo-crev
.
Lib.rs has been able to verify that all files in the crate's tarball are in the crate's repository. Please note that this check is still in beta, and absence of this confirmation does not mean that the files don't match.
Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories, so there is a possibility that published crates have a misleading repository URL, or contain different code from the code in the repository.
To review the actual code of the crate, it's best to use cargo crev open lexer
. Alternatively, you can download the tarball of lexer v0.1.18 or view the source online.
Affected versions of this crate implements
Sync
forReaderResult<T, E>
with the trait boundT: Send, E: Send
.Since matching on the public enum
ReaderResult<T, E>
provides access to&T
&&E
, allowing data race to a non-Sync typeT
orE
. This can result in a memory corruption when multiple threads concurrently access&T
or&E
.Suggested fix for the bug is change the trait bounds imposed on
T
&E
to beT: Sync, E: Sync
.CVE-2020-36458
GHSA-f997-8gxg-r354