i3c: master: svc: bound IBI payload to the requested max_payload_len
3Vexday Risk Score
Sin señal de explotación. Ningún artefacto público de explotación conocido hasta ahora.
ssvc Trackepss 0.2%
probabilidad de explotación
0.2%top 89% de las CVE
explotación observada
noninguna fuente lo reporta
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.
Productos afectados
Linux · LinuxReferencias
https://git.kernel.org/stable/c/35aa6730b8c5626b879a4e893fe664f59bf07d7fhttps://git.kernel.org/stable/c/5697d779577e2786ff3348ae9b77020ac0cf0aabhttps://git.kernel.org/stable/c/7c099b0b292a68d0ef558527945dbfb756fbf893https://git.kernel.org/stable/c/7cc5ba756bc1cfffab9cb2695742f9f479dc73f7https://git.kernel.org/stable/c/aac3c5aababc7fb69d5bf5b0cc52d308574e3a8chttps://git.kernel.org/stable/c/e2bda39d7f9f285ec803e200b5c1f17143d0b483https://git.kernel.org/stable/c/f296a0d5907bf88314dfda67245f7f69d1552470