PT-2021-16993 · Raw-Cpuid · Raw-Cpuid

Publicado

2021-01-20

·

Atualizado

2022-07-12

·

CVE-2021-26306

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 raw-cpuid anteriores à 9.0.0
Descrição
O problema está relacionado a chamadas de conversão incorretas nos métodos as string() do crate raw-cpuid para Rust. Especificamente, VendorInfo::as string(), SoCVendorBrand::as string() e ExtendedFunctionInfo::processor brand string() constroem fatias de bytes usando std::slice::from raw parts() com dados provenientes de estruturas #[repr(Rust)], o que sempre resulta em comportamento indefinido. Além disso, native cpuid::cpuid count() expõe a função intrínseca insegura cpuid count() sem verificar o requisito de segurança de que a CPU suporte a função que está sendo chamada. Esse problema é mitigado pelo fato de que se espera que os programas afetados travem de forma determinística todas as vezes.
Recomendações
Para versões anteriores à 9.0.0, atualize para a versão 9.0.0 ou posterior, que corrige o problema tornando as estruturas relevantes #[repr(C)] e interrompendo intencionalmente a compilação ao visar CPUs afetadas. Como solução alternativa temporária, considere evitar o uso dos métodos as string() e da função native cpuid::cpuid count() até que o problema seja resolvido.

Correção

Resource Exhaustion

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-26306
GHSA-HVQC-PC78-X9WH
GHSA-JRF8-CMGG-GV2M
RUSTSEC-2021-0013

Produtos afetados

Raw-Cpuid