Description
In the Linux kernel, the following vulnerability has been resolved: coresight: ultrasoc-smb: Fix OOB write in smb_sync_perf_buffer() When the SMB sink is used as a perf AUX sink, smb_update_buffer() calls smb_sync_perf_buffer() to copy hardware trace data into the perf AUX ring buffer pages. It derives pg_idx = head >> PAGE_SHIFT from @head, which is handle->head, and indexes dst_pages[pg_idx]. The pg_idx %= nr_pages normalization is only applied after the first loop iteration. This leaves the initial page index underived from the buffer size, which can result in an out-of-bounds write past dst_pages[] when head exceeds the AUX buffer size. Normalize head modulo the AUX buffer size before deriving the page index and offset, mirroring tmc_etr_sync_perf_buffer().
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
06f5c2926aaa0fba7f99678da6ef77cbbbda1441 to < 38dbc8db8341ccdf8e1e1a067453d33ad751864baffected06f5c2926aaa0fba7f99678da6ef77cbbbda1441 to < 4c5a0a946373da99a80398289b28845b5ae40cd1affected06f5c2926aaa0fba7f99678da6ef77cbbbda1441 to < 661a019ac0413ecec9e5d1dfcc12fbca8e78d5fbaffected06f5c2926aaa0fba7f99678da6ef77cbbbda1441 to < daf6246ab988fc8bdc82ad7c8d0b1c182d11b15faffected06f5c2926aaa0fba7f99678da6ef77cbbbda1441 to < 98495b5a4d77dd22e106f462b76e1093a55b29a7affected
Linux Linux
Default version status: affected
6.3affected0 to < 6.3unaffected6.6.145 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/38dbc8db8341ccdf8e1e1a067453d33ad751864b ↗
- https://git.kernel.org/stable/c/4c5a0a946373da99a80398289b28845b5ae40cd1 ↗
- https://git.kernel.org/stable/c/661a019ac0413ecec9e5d1dfcc12fbca8e78d5fb ↗
- https://git.kernel.org/stable/c/daf6246ab988fc8bdc82ad7c8d0b1c182d11b15f ↗
- https://git.kernel.org/stable/c/98495b5a4d77dd22e106f462b76e1093a55b29a7 ↗