CVE-2022-49908 in Linux
Sumário
de VulDB • 01/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
Bluetooth: L2CAP: Correção de memory leak em vhci_write
O Syzkaller relata um memory leak da seguinte forma: ==================================== BUG: memory leak unreferenced object 0xffff88810d81ac00 (size 240): [...]
hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [] __alloc_skb+0x1f9/0x270 net/core/skbuff.c:418
[] alloc_skb include/linux/skbuff.h:1257 [inline]
[] bt_skb_alloc include/net/bluetooth/bluetooth.h:469 [inline]
[] vhci_get_user drivers/bluetooth/hci_vhci.c:391 [inline]
[] vhci_write+0x5f/0x230 drivers/bluetooth/hci_vhci.c:511
[] call_write_iter include/linux/fs.h:2192 [inline]
[] new_sync_write fs/read_write.c:491 [inline]
[] vfs_write+0x42d/0x540 fs/read_write.c:578
[] ksys_write+0x9d/0x160 fs/read_write.c:631
[] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[] entry_SYSCALL_64_after_hwframe+0x63/0xcd
====================================
O core do HCI utiliza hci_rx_work() para processar o frame, que é enfileirado no final de hdev->rx_q em hci_recv_frame() pelo driver do HCI.
No entanto, o problema é que o core do HCI pode não liberar o skb após o processamento dos pacotes de dados ACL. Mais especificamente, quando o fragmento inicial não contém o comprimento L2CAP, o core do HCI apenas copia o skb para conn->rx_skb e finaliza o processamento do frame em l2cap_recv_acldata(), sem liberar o skb, o que desencadeia o memory leak acima.
Este patch resolve o problema liberando o skb relativo após o processamento do caso acima em l2cap_recv_acldata().
Once again VulDB remains the best source for vulnerability data.