CVE-2026-46151 in Linuxinformação

Sumário

de VulDB • 29/05/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

usb: usblp: corrige vazamento de heap no ID do dispositivo IEEE 1284 via resposta curta

usblp_ctrl_msg() converte o valor de retorno de usb_control_msg() para 0/-errno, descartando o número real de bytes transferidos. Uma impressora defeituosa pode concluir a transferência de controle GET_DEVICE_ID de forma curta, e o driver não tem como saber disso.

usblp_cache_device_id_string() lê o prefixo de comprimento big-endian de 2 bytes da resposta e confia nele (limitado apenas aos limites do buffer). O buffer é alocado com kmalloc(1024) no momento do probe. Um dispositivo que envia exatamente dois bytes (por exemplo, 0x03 0xFF, alegando um ID de 1023 bytes) deixa device_id_string[2..1022] contendo heap obsoleto do kmalloc.

Esses dados obsoletos são então expostos: - através do atributo sysfs ieee1284_id (sprintf("%s", buf+2), truncado no primeiro NUL no heap obsoleto), e - através do ioctl IOCNR_GET_DEVICE_ID, que executa copy_to_user() com o comprimento total alegado, independentemente de NULs, até 1021 bytes de heap não inicializado, com o tamanho do vazamento escolhido pelo dispositivo.

Corrige-se isso simplesmente zerando o buffer com zeros antes de cada solicitação enviada ao dispositivo.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsável

Linux

Reservar

13/05/2026

Divulgação

28/05/2026

Moderação

aceite

Entrada

VDB-366630

CPE

pronto

EPSS

0.00032

KEV

não

Atividades

muito baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!