PT-2020-17639 · Rust · Lexer Crate

Publicado

2020-11-10

·

Atualizado

2022-05-03

·

CVE-2020-36458

CVSS v3.1

8.1

Alta

VetorAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Crate lexer até 10/11/2020
Descrição
O problema está relacionado à implementação de Sync para ReaderResult<T, E> com um limite de trait de T: Send, E: Send, o que pode levar a corridas de dados e corrupção de memória quando múltiplas threads acessam &T ou &E simultaneamente. Isso ocorre porque a correspondência na enumeração pública ReaderResult<T, E> fornece acesso a &T e &E, permitindo o acesso a tipos T ou E que não são Sync.
Recomendações
Para o crate lexer até 10/11/2020, considere alterar os limites de trait impostos a T e E para T: Sync, E: Sync a fim de resolver o problema. Como solução alternativa temporária, considere restringir o acesso simultâneo a instâncias de ReaderResult<T, E> para minimizar o risco de corrupção de memória.

Exploit

Correção

Command Injection

Race Condition

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-36458
GHSA-F997-8GXG-R354
RUSTSEC-2020-0138

Produtos afetados

Lexer Crate