---
id: CVE-2026-99155
title: 'scsi: xen/scsifront: Check for a NULL shadow entry on a backend response'
summary: |-
  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 befo…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 <
    1d91ec793d6c80eca963d426e0da832d40a062df
  - >-
    Linux >= 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 <
    15791e57f57f7050014d08cfe239d4aa1e6b94b0
  - >-
    Linux >= 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 <
    8c8222c255772713eb36cde695777a1fce224917
  - Linux 5.19
published: '2026-10-28'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T10:35:09.733Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99155'
references:
  - url: 'https://git.kernel.org/stable/c/1d91ec793d6c80eca963d426e0da832d40a062df'
  - url: 'https://git.kernel.org/stable/c/15791e57f57f7050014d08cfe239d4aa1e6b94b0'
  - url: 'https://git.kernel.org/stable/c/8c8222c255772713eb36cde695777a1fce224917'
tags:
  - cve.org
ingestedAt: '2026-10-28T11:09:40.402Z'
---

## Overview

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

- `Linux >= 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 < 1d91ec793d6c80eca963d426e0da832d40a062df`
- `Linux >= 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 < 15791e57f57f7050014d08cfe239d4aa1e6b94b0`
- `Linux >= 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43 < 8c8222c255772713eb36cde695777a1fce224917`
- `Linux 5.19`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
