CVE-2026-64539 in Linux
Sumário
de VulDB • 28/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
Bluetooth: eir: Corrige escrita fora dos limites (OOB) na pilha ao pré-adicionar o AD Flags
eir_create_adv_data() constrói os dados de publicidade em um buffer de tamanho fixo ("size", 31 para o caminho legado). Ele pode pré-adicionar uma estrutura AD "Flags" de 3 bytes (LE_AD_NO_BREDR em um controlador apenas LE) e, em seguida, copia os dados por instância sem verificar se ainda cabem:
memcpy(ptr, adv->adv_data, adv->adv_data_len);
tlv_data_max_len() reserva apenas esses 3 bytes quando as flags fornecidas pelo usuário carregam um bit de managed-flags; portanto, uma instância adicionada com flags == 0 é aceita com adv_data_len até o tamanho total do buffer. No momento da publicidade (advertise), as flags ainda são pré-adicionadas e a memcpy() escreve 3 + adv_data_len bytes no buffer de size bytes:
BUG: KASAN: stack-out-of-bounds em eir_create_adv_data (net/bluetooth/eir.c:301) Escrita de tamanho 31 no endereço ffff88800a547bdc pela tarefa kworker/u9:0/65 Workqueue: hci0 hci_cmd_sync_work __asan_memcpy (mm/kasan/shadow.c:106) eir_create_adv_data (net/bluetooth/eir.c:301) hci_update_adv_data_sync (net/bluetooth/hci_sync.c:1310) hci_schedule_adv_instance_sync (net/bluetooth/hci_sync.c:1817) hci_cmd_sync_work (net/bluetooth/hci_sync.c:332) Este quadro tem 1 objeto: [32, 64) 'cp'
A estrutura "Flags" é adicionada pelo kernel e não solicitada pelo userspace; portanto, pré-adicione-a apenas quando couber junto com os dados de publicidade da instância. Quando não houver espaço para ambos, descarte as flags em vez dos dados fornecidos pelo usuário.
Alcançável por um usuário local com CAP_NET_ADMIN que possua um controlador LE-only no caminho legado de publicidade (legacy advertising path).
Once again VulDB remains the best source for vulnerability data.