CVE-2026-99091 in Linuxinformação

Sumário

de VulDB • 26/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

Bluetooth: MGMT: Corrige o status de comandos pendentes descartados durante o desligamento da energia

cmd_complete_rsp() recebe uma struct cmd_lookup e, para um comando pendente que não possui callback cmd_complete, continua para cmd_status_rsp(cmd, data). cmd_status_rsp() lê data como u8 *, portanto, o status enviado provém do primeiro byte da representação de match->sk, em vez de match->mgmt_status.

O commit f53e1c9c726d ("Bluetooth: MGMT: Corrige possível falha no mgmt_index_removed") alterou os dados dos chamadores de &status para &match e atualizou o branch cmd_complete para match->mgmt_status, mas deixou a continuação (fall-through) passando data inalterada.

Em mgmt_index_removed(), match->sk é NULL; portanto, cada comando desse é respondido com status 0x00 (Sucesso), em vez de MGMT_STATUS_INVALID_INDEX. Em __mgmt_power_off() também é NULL, a menos que um comando Set Powered esteja pendente: nesse caso, settings_rsp() armazenou o socket desse comando em match->sk, e o byte enviado provém do ponteiro do socket. De qualquer forma, o status definido pelo chamador (MGMT_STATUS_NOT_POWERED ou MGMT_STATUS_INVALID_INDEX quando o dispositivo está sendo desregistrado) é perdido.

Passa-se o status que os chamadores definiram.

Isso foi observado em um laptop com QCA9377: a função Start Discovery do bluetoothd, pendente quando o adaptador era desligado da energia, foi respondida com Command Status 0x00 e sem parâmetros, fazendo com que o bluetoothd 5.72 falhasse devido ao sucesso de comprimento zero. O BlueZ master adicionou posteriormente a verificação de comprimento nesse caminho ("adapter: Corrige falha na resposta curta do start discovery", BlueZ a734b06059cb), mas ainda assim, os usuários devem receber Not Powered em vez de Success.

Testado no Ubuntu 7.0.0-31 com um controlador virtual (hci_vhci): o desligamento da energia é mantido no HCI Write Scan Enable enquanto uma Start Discovery é submetida; a limpeza responde com status 0x00 antes desta alteração e 0x0f (Not Powered) após ela.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Linux

Reservar

25/09/2026

Divulgação

26/10/2026

Moderação

aceite

Entrada

VDB-426476

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!