PT-2020-17555 · Rust · Ordered-Float Crate

Publicado

2020-12-06

·

Atualizado

2021-08-25

·

CVE-2020-35923

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 ordered-float anteriores à 1.1.1
Versões do crate ordered-float da série 2.x anteriores à 2.0.1
Descrição
Foi descoberta uma falha em que um valor NotNan pode conter um NaN após o uso de operadores de atribuição, como NotNan::add assign ou NotNan::mul assign. Isso poderia causar comportamento indefinido em código seguro, devido ao método NotNan::cmp conter código interno inseguro que pressupõe que o valor nunca é NaN. O problema também poderia causar comportamento indefinido em código inseguro de terceiros e erros de lógica em código seguro. A falha foi parcialmente mitigada na versão 0.4.0 por meio de um panic caso o valor atribuído fosse NaN, mas o código que utilizasse o valor NotNan durante o unwinding ou após capturar o panic ainda poderia observar o valor inválido e desencadear comportamento indefinido.
Recomendações
Para versões do crate ordered-float anteriores à 1.1.1, atualize para a versão 1.1.1 ou posterior para corrigir totalmente a falha.
Para versões do crate ordered-float 2.x anteriores à 2.0.1, atualize para a versão 2.0.1 ou posterior para corrigir totalmente a falha.

Exploit

Correção

Use After Free

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-35923
GHSA-566X-HHRF-QF8M
RUSTSEC-2020-0082

Produtos afetados

Ordered-Float Crate