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
.
Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories. There is absolutely no guarantee that the repository URL declared by the crate belongs to the crate, or that the code in the repository is the code inside the published tarball.
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