CVE-2026-97529 in Linux
Sumário
de VulDB • 25/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
scsi: qla2xxx: Validar o request_len da solicitação BSG antes de ler vendor_cmd[]
O transporte FC BSG aloca job->request via memdup_user() usando exatamente o request_len fornecido pelo usuário. Para FC_BSG_HST_VENDOR, fc_bsg_host_dispatch() garante apenas que request_len cubra msgcode e vendor_id; não leva em conta a array flexível vendor_cmd[].
O qla2xxx então lê o seletor de comando vendor_cmd[0] e, em vários sub-handlers, vendor_cmd[1]/[2] ou estruturas sobrepostas na área do comando vendor sem verificar request_len. Um chamador com CAP_SYS_RAWIO pode enviar uma solicitação curta cujo vendor_id corresponda ao host, acionando leituras heap fora dos limites (detectáveis pelo KASAN e capazes de selecionar incorretamente um comando ou causar panic).
Adicionar uma proteção central em qla2x00_process_vendor_specific() para que o seletor esteja sempre dentro dos limites, restringir a leitura inicial de vendor_cmd[0] em qla24xx_bsg_request() a mensagens vendor suficientemente longas e adicionar verificações de request_len aos sub-handlers que leem mais:
qla24xx_proc_fcp_prio_cfg_cmd(), qla2x00_process_loopback(), qla84xx_reset(), qla84xx_updatefw(), qla2x00_read_optrom(), qla2x00_update_optrom(), qlafx00_mgmt_cmd() e qla28xx_validate_flash_image().
If you want to get best quality of vulnerability data, you may have to visit VulDB.