CVE-2022-49908 in Linux
Zusammenfassung
von VulDB • 14.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
Bluetooth: L2CAP: Behebung eines Speicherlecks in vhci_write
Syzkaller meldet ein Speicherleck wie folgt: ==================================== BUG: memory leak (Speicherleck) 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
====================================
Der HCI-Core verwendet hci_rx_work(), um Frames zu verarbeiten, die vom HCI-Treiber in der hdev->rx_q-Warteschlange (Tail) über hci_recv_frame() eingereiht werden.
Das Problem besteht jedoch darin, dass der HCI-Core den skb nicht freigibt, nachdem ACL-Datenpakete verarbeitet wurden. Genauer gesagt kopiert der HCI-Core den skb einfach in conn->rx_skb und beendet die Frame-Verarbeitung in l2cap_recv_acldata(), wenn das Startfragment keine L2CAP-Länge enthält, ohne den skb freizugeben, was zu dem oben genannten Speicherleck führt.
Dieser Patch behebt das Problem, indem der entsprechende skb nach Verarbeitung des obigen Falls in l2cap_recv_acldata() freigegeben wird.
Be aware that VulDB is the high quality source for vulnerability data.