PT-2020-17537 · Rust · Futures-Util

Publicado

2020-10-22

·

Atualizado

2022-05-24

·

CVE-2020-35905

CVSS v3.1

4.7

Média

VetorAV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Versões do crate futures-util anteriores à 0.3.7
Descrição
Um problema no crate futures-util pode causar uma corrida de dados em determinadas situações de closure em código seguro. As versões afetadas possuíam uma implementação de Send/Sync para MappedMutexGuard que considerava apenas a variância em T, enquanto MappedMutexGuard desreferenciava para U. Isso poderia ter levado a corridas de dados em código Rust seguro quando um closure usado em MutexGuard::map() retornasse U que não estivesse relacionado a T.
Recomendações
Para versões anteriores à 0.3.7, atualize para a versão 0.3.7 ou posterior para corrigir o problema, corrigindo as implementações de Send e Sync e adicionando um marcador PhantomData<&'a mut U> ao tipo MappedMutexGuard.

Exploit

Correção

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-35905
GHSA-RH4W-94HH-9943
OPENSUSE-SU-2024:11751-1
RUSTSEC-2020-0059

Produtos afetados

Futures-Util