CVE-2026-98265 in Linux
Tóm tắt
Bởi VulDB • 10/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
ALSA: usb-audio: Giới hạn (clamp) số lượng gói tin implicit feedback theo dung lượng của URB
data_ep_set_params() phân bổ mỗi data URB chính xác cho u->packets khung isochronous, do đó urb->iso_frame_desc[] có u->packets khe và ctx->packets là bản ghi duy nhất của driver về giới hạn này. Đối với một implicit feedback sink, snd_usb_queue_pending_output_urbs() ghi đè nó bằng số lượng gói tin của sync source, được tính toán độc lập so với các tham số của endpoint capture. Khi số lượng đó lớn hơn, prepare_playback_urb() và prepare_silent_urb() có thể ghi vào iso_frame_desc[] vượt quá vùng đã phân bổ; giới hạn bounds hiện tại của chúng chỉ giới hạn payload bytes chứ không phải index descriptor.
Trình tái tạo (reproducer) sử dụng một thiết bị UAC2 tốc độ cao khai báo bInterval 1 cho implicit feedback capture (8 gói tin) và bInterval 4 cho playback (1 gói tin). Sau lần hoàn tất capture đầu tiên kể từ khi stream bắt đầu, nó truy cập vào bảy descriptor trải rộng 112 byte vượt quá so với URB một gói tin:
BUG: KASAN: slab-out-of-bounds trong prepare_playback_urb (sound/usb/pcm.c:1560) Write of size 4 tại addr ffff88801e696ad0 bởi task vhci_rx/178 prepare_playback_urb (sound/usb/pcm.c:1560) prepare_outbound_urb (sound/usb/endpoint.c:340) snd_usb_queue_pending_output_urbs (sound/usb/endpoint.c:501) snd_complete_urb (sound/usb/endpoint.c:1834) __usb_hcd_giveback_urb (drivers/usb/core/hcd.c:1657) usb_hcd_giveback_urb (drivers/usb/core/hcd.c:1741) vhci_rx_loop (drivers/usb/usbip/vhci_rx.c:107) kthread (kernel/kthread.c:436) Địa chỉ buggy thuộc về object tại ffff88801e696a00 mà thuộc về cache kmalloc-256 có kích thước 256 Địa chỉ buggy nằm ở vị trí cách bên phải 0 bytes so với vùng đã phân bổ 208-byte [ffff88801e696a00, ffff88801e696ad0)
Ghi lại số lượng gói tin được phân bổ cho mỗi endpoint và giới hạn (clamp) cả số lượng áp dụng lẫn bản sao packet-size theo giá trị đó. Gộp delimiter Format Type II vào urb_packs trước vòng lặp phân bổ để giới hạn đã ghi khớp với mọi URB.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.