Description
In the Linux kernel, the following vulnerability has been resolved: nvmet: pci-epf: reject too-short SGL segments The host controls an SGL segment's length. A nonzero length smaller than one SGL descriptor makes nr_descs zero, so nvmet_pci_epf_get_sgl_segment() reads the type byte of sgls[-1] outside the allocated buffer. If that byte contains a segment descriptor type, the function also copies the preceding 16 bytes and returns a negative descriptor count. The read was reproduced in 3/3 KASAN boots with only the host transfer mocked by a KUnit test: BUG: KASAN: slab-out-of-bounds in nvmet_pci_epf_get_sgl_segment Read of size 1 by task kunit_try_catch Call Trace: nvmet_pci_epf_get_sgl_segment nvmet_pci_epf_short_sgl_test Kernel panic - not syncing: KASAN: panic_on_warn set ... Reject segments that cannot hold one descriptor before allocating or transferring their contents.
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
0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 to < 2423a05dd0f21330c47ce0ae1cb54a8b0be821e2affected0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 to < 472df1d103dbe3e9d09156f0667e36180e912c46affected0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 to < 5d5fbfbbacd1efb13a9bf91317d4fde859ede4b9affected
Linux Linux
Default version status: affected
6.14affected0 to < 6.14unaffected6.18.56 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected