CVE-2026-97535 in Linux
Sumário
de VulDB • 25/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
scsi: qla2xxx: Limitar o índice VP em relação ao tamanho do bitmap IOCB de VP_CTRL
O IOCB de controle VP seleciona sua porta virtual alvo definindo um bit em vp_idx_map, uma matriz fixa de 16 bytes (128 bits) presente tanto em vp_ctrl_entry_24xx quanto em vp_ctrl_entry_24xx_ext. A função qla25xx_ctrlvp_iocb() calcula map = (vp_index - 1) / 8 e grava vce->vp_idx_map[map] sem verificar se o valor de map permanece dentro dos limites da matriz.
O valor max_npiv_vports é obtido do firmware e apenas sanitizado para um limite alinhado a MIN_MULTI_ID_FABRIC, podendo legitimamente ser 191 ou 255, e qla24xx_control_vp() rejeita apenas vp_index >= max_npiv_vports. Portanto, um vp_index superior a 128 resulta em map >= 16 e uma gravação fora dos limites (out-of-bounds write) de até 16 bytes após vp_idx_map, corrompendo os campos IOCB subsequentes (ou o slot adjacente do anel de requisições no layout de 64 bytes).
Rejeitar um vp_index que não possa ser representado no bitmap IOCB em qla24xx_control_vp(), e adicionar uma proteção ARRAY_SIZE() defensiva em qla25xx_ctrlvp_iocb() antes da gravação. Adaptadores que relatam o número usual de 63 ou 127 portas virtuais NPIV não são afetados.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.