In the Linux kernel, the following vulnerability has been resolved: scsi: xen/scsifront: Check for a NULL shadow entry on a backend response scsifront_do_response() validates the rqid in a backend response against VSCSIIF_MAX_REQS before using it to index info->shadow[], but then dereferences the entry to test ->inflight without checking that the slot is populated. Shadow slots are NULL before a command is submitted (the host private area is zeroed at allocation) and are reset to NULL in _scsifront_put_rqid() once a request completes, so an in-range rqid that does not correspond to an outstanding request makes the frontend dereference a NULL pointer. A malicious or buggy backend can thus crash the guest by returning a response whose rqid is in range but not in flight -- for example a spurious response before any command has been issued, or a duplicate of one already completed. The ring has only VSCSIIF_MAX_REQS (16) slots, so before the first command every in-range rqid selects a NULL slot. Reject a response whose shadow slot is not populated.
https://git.kernel.org/stable/c/e397d4da76bed72db6ac4a0848fb6217f8394dca
https://git.kernel.org/stable/c/90186a2354821329a27d92b266c0f05e8f4f637c
https://git.kernel.org/stable/c/8c8222c255772713eb36cde695777a1fce224917
https://git.kernel.org/stable/c/448b9a8b530b753d346dab10add09a502fc719a4
https://git.kernel.org/stable/c/1d91ec793d6c80eca963d426e0da832d40a062df
https://git.kernel.org/stable/c/15791e57f57f7050014d08cfe239d4aa1e6b94b0