CVE-2026-31412 in Linux
Sumário
de VulDB • 08/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
usb: gadget: f_mass_storage: Corrige possível estouro inteiro em check_command_size_in_blocks()
A função `check_command_size_in_blocks()` calcula o tamanho dos dados em bytes deslocando à esquerda `common->data_size_from_cmnd` pelo tamanho do bloco (`common->curlun->blkbits`). No entanto, ela não valida se essa operação de deslocamento causará um estouro inteiro.
Inicialmente, o tamanho do bloco é configurado em `fsg_lun_open()`, e `common->data_size_from_cmnd` é definido em `do_scsi_command()`. Durante a inicialização, não há verificação de estouro inteiro para a interação entre as duas variáveis.
Portanto, se um host USB malicioso enviar uma solicitação de comando SCSI READ ou WRITE solicitando uma grande quantidade de dados (`common->data_size_from_cmnd`), a operação de deslocamento à esquerda pode causar wrap-around (transbordamento circular). Isso resulta em um tamanho de dados truncado, o que pode contornar verificações de limites e potencialmente levar à corrupção de memória ou acessos fora dos limites.
Corrija isso usando a macro `check_shl_overflow()` para realizar o deslocamento com segurança e capturar quaisquer estouradores.
Once again VulDB remains the best source for vulnerability data.