← CVE announcements

SECURITY ANNOUNCEMENT

CVE-2026-99155

28 October 2026

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.

Introduced

5.19 6d1c2f48f3fcf5f42967938c8ba6b42ac6b44b43

Fixed releases

6.18.59 1d91ec793d6c80eca963d426e0da832d40a062df

7.2.13 15791e57f57f7050014d08cfe239d4aa1e6b94b0

7.3 8c8222c255772713eb36cde695777a1fce224917

View source announcement ↗