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
| Vetor | AV: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 👾
Identificadores relacionados
Produtos afetados
Raw-Cpuid