PT-2021-17196 · Xcb · Xcb

Publicado

2021-02-04

·

Atualizado

2021-08-25

·

CVE-2021-26955

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
**Nome do software vulnerável e versões afetadas:
Versões do crate xcb até 04/02/2021
Descrição:
O problema diz respeito a uma violação de segurança no crate xcb para Rust, em que várias funções processam dados de um servidor X sem a devida validação ou restrições de tipo. Especificamente, xcb::xproto::GetAtomNameReply::name() chama std::str::from utf8 unchecked() em bytes não validados, e xcb::xproto::GetPropertyReply::value() retorna uma fatia de um parâmetro de tipo sem restrições, interpretando bytes brutos como o tipo solicitado. Além disso, xcb::xproto::change property() apresenta uma leitura fora dos limites quando os argumentos de formato e tipo não correspondem aos casos de uso pretendidos. A função xcb::base::cast event() também usa std::mem::transmute() sem restringir o tipo de retorno, o que pode levar à transmutação para um tipo incorreto. Recomenda-se que os usuários utilizem essas funções com cautela e apenas com os tipos pretendidos para minimizar os riscos.
Recomendações:
Para versões até 04/02/2021, considere o seguinte:
  • Ao usar xcb::xproto::GetAtomNameReply::name(), certifique-se de que os bytes recebidos do servidor X sejam validados antes de chamar std::str::from utf8 unchecked().
  • Ao usar xcb::xproto::GetPropertyReply::value(), chame essa função apenas com os tipos pretendidos, que são u8, u16 e u32.
  • Ao usar xcb::xproto::change property(), certifique-se de que os argumentos de formato e tipo correspondam aos casos de uso pretendidos para evitar leituras fora dos limites.
  • Ao usar `xcb

Exploit

Out of bounds Read

Unchecked Return Value

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-26955
GHSA-2XPG-3HX4-FM9R
GHSA-3288-CWGW-CH86
GHSA-3CJ3-JRRP-9RXF
GHSA-MP6R-FGW2-RXFX
RUSTSEC-2021-0019

Produtos afetados

Xcb