PT-2020-17547 · Rust · Futures-Intrusive

Matthias247

·

Publicado

2020-10-31

·

Atualizado

2021-08-25

·

CVE-2020-35915

CVSS v3.1

5.5

Média

VetorAV:L/AC:L/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-intrusive anteriores à 0.4.0
Descrição
Um problema no crate futures-intrusive permite corridas de dados entre threads de tipos não-Sync, devido ao GenericMutexGuard receber o traço automático Sync, desde que o tipo T seja Send. Esse problema de segurança pode levar a corridas de dados, causando potencialmente travamentos e erros de segmentação em código Rust seguro. O problema surge porque o guard representa um bloqueio adquirido e permite acesso simultâneo aos dados subjacentes a partir de diferentes threads, mas só deveria ser Sync quando os dados subjacentes o forem.
Recomendações
Para versões anteriores à 0.4.0, atualize para a versão 0.4.0 ou posterior, que inclui a correção por meio da adição de uma restrição T: Send + Sync para o trait Sync do GenericMutexGuard.

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-35915
GHSA-4HJG-CX88-G9F9
RUSTSEC-2020-0072

Produtos afetados

Futures-Intrusive