Description
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.
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
6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 to < 1d91ec793d6c80eca963d426e0da832d40a062dfaffected6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 to < 15791e57f57f7050014d08cfe239d4aa1e6b94b0affected6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 to < 8c8222c255772713eb36cde695777a1fce224917affected
Linux Linux
Default version status: affected
5.19affected0 to < 5.19unaffected6.18.59 to ≤ 6.18.*unaffected7.2.13 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected