CVE-2026-80951
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
i3c: master: svc: bound IBI payload to the requested max_payload_len
svc_i3c_master_handle_ibi() reads the IBI payload from the RX FIFO into the IBI slot. The loop is bounded by the hardware FIFO size (SVC_I3C_FIFO_SIZE), not by the slot size.
slot->data points into the IBI pool, which i3c_generic_ibi_alloc_pool() sizes at max_payload_len per slot. svc_i3c_master_request_ibi() only rejects a max_payload_len larger than SVC_I3C_FIFO_SIZE, so a driver can request a smaller one. mctp-i3c requests 1. Each readsb() then copies the controller RXCOUNT bytes (up to 31) with no check against the slot size. A device that sends more bytes than the slot holds writes past slot->data, an out-of-bounds write into the IBI pool.
Bound the loop by dev->ibi->max_payload_len and clamp each read to the space left in the slot, the same way dw-i3c does. A device can still send more than the requested payload. Flush the leftover bytes from the RX FIFO so they do not leak into the next transfer.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | dd3c52846d5954acd43f0e771689302f27dadc28 < f296a0d5907bf88314dfda67245f7f69d1552470 | affected |
| Linux | Linux | dd3c52846d5954acd43f0e771689302f27dadc28 < 5697d779577e2786ff3348ae9b77020ac0cf0aab | affected |
| Linux | Linux | dd3c52846d5954acd43f0e771689302f27dadc28 < aac3c5aababc7fb69d5bf5b0cc52d308574e3a8c | affected |
| Linux | Linux | dd3c52846d5954acd43f0e771689302f27dadc28 < e2bda39d7f9f285ec803e200b5c1f17143d0b483 | affected |
| Linux | Linux | 5.12 | affected |
| Linux | Linux | 0 < 5.12 | unaffected |
| Linux | Linux | 6.12.109 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.50 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.4 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/f296a0d5907bf88314dfda67245f7f69d1552470
- https://git.kernel.org/stable/c/5697d779577e2786ff3348ae9b77020ac0cf0aab
- https://git.kernel.org/stable/c/aac3c5aababc7fb69d5bf5b0cc52d308574e3a8c
- https://git.kernel.org/stable/c/e2bda39d7f9f285ec803e200b5c1f17143d0b483
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.