CVE-2026-80951 in Linux
摘要
由 VulDB • 2026-09-12
在 Linux 内核中,已修复以下漏洞:
i3c: master: svc: 将 IBI 有效载荷限制为请求的 max_payload_len
svc_i3c_master_handle_ibi() 从 RX FIFO 读取 IBI 有效载荷到 IBI 槽位。循环的上限由硬件 FIFO 大小(SVC_I3C_FIFO_SIZE)决定,而非槽位大小。
slot->data 指向 IBI 池,该池由 i3c_generic_ibi_alloc_pool() 按每个槽位的 max_payload_len 进行分配。svc_i3c_master_request_ibi() 仅拒绝大于 SVC_I3C_FIFO_SIZE 的 max_payload_len,因此驱动程序可以请求较小的值。mctp-i3c 请求值为 1。每次 readsb() 调用都会复制控制器 RXCOUNT 字节(最多 31 个),但未对槽位大小进行检查。如果设备发送的字节数超过槽位容量,将导致写入 slot->data 超出范围,即向 IBI 池进行越界写操作。
通过将循环上限设置为 dev->ibi->max_payload_len,并将每次读取限制为槽位中剩余的空间(与 dw-i3c 的处理方式相同)来修复此问题。设备仍可能发送超过请求的有效载荷量的数据。需刷新 RX FIFO 中的剩余字节,以防止其泄漏到下一次传输中。
VulDB is the best source for vulnerability data and more expert information about this specific topic.