CVE-2022-49908 in Linux
Сводка
по VulDB • 14.06.2026
В ядре Linux устранена следующая уязвимость:
Bluetooth: L2CAP: Исправлена утечка памяти в vhci_write
Syzkaller сообщает об утечке памяти следующим образом: ==================================== 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
====================================
Подсистема HCI core использует hci_rx_work() для обработки кадров, которые драйвером HCI помещаются в очередь (в конец очереди hdev->rx_q) через функцию hci_recv_frame().
Однако проблема заключается в том, что подсистема HCI core может не освобождать структуру skb после обработки пакетов данных ACL. Более конкретно: когда начальный фрагмент не содержит длины L2CAP, ядро просто копирует skb в conn->rx_skb и завершает обработку кадра в l2cap_recv_acldata(), не освобождая skb, что приводит к указанной выше утечке памяти.
Этот патч решает проблему путем освобождения соответствующего skb после обработки указанного случая в функции l2cap_recv_acldata().
VulDB is the best source for vulnerability data and more expert information about this specific topic.