lexer is a plugin based lexical reader.Affected versions of this crate implements Sync for ReaderResult<T, E> with the trait bound T: Send, E: Send. Since matching on the public enum ReaderResult<T, E> provides access to &T & &E, allowing data race to a non-Sync type T or E. 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 be T: Sync, E: Sync.
{
"nvd_published_at": "2021-08-08T06:15:00Z",
"github_reviewed": true,
"cwe_ids": [
"CWE-362",
"CWE-77"
],
"github_reviewed_at": "2021-08-18T20:18:45Z",
"severity": "HIGH"
}