GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel LIO iSCSI target: four-byte overread and text_in_ptr double-free in the Text PDU handler

CVSS 9.8CVE-2026-63888Kernel, userspace & hypervisorcurated

Impact

Two defects in the Text-phase handler, present since the original LIO merge. First, the DataDigest CRC is computed over rx_size, which has already been bumped by the 4-byte digest length, so crc32c() reads four bytes past the text_in allocation on every Text PDU with DataDigest=CRC32C - KASAN flags it as slab-out-of-bounds. Second, on a DataDigest mismatch with ErrorRecoveryLevel > 0 the handler frees text_in but leaves cmd->text_in_ptr pointing at it; the next Text Request on the same ITT, or session teardown via iscsit_release_cmd(), frees the same pointer again. The double-free is the serious half: a slab free of an attacker-influenced pointer on a storage node serving GPU hosts, reachable after login. This is distinct from the login-buffer overflow in the same subsystem and has its own commits.

Who can reach it

An iSCSI initiator that has completed login to the target and can send Text Requests with DataDigest negotiated. The overread needs only DataDigest=CRC32C; the double-free needs a deliberate digest mismatch on a target configured with ErrorRecoveryLevel > 0. Authentication to the target is required.

What to do

Apply the stable-kernel fix: the CRC length becomes ALIGN(payload_length, 4) and cmd->text_in_ptr is cleared on the ERL>0 drop path. Kernel update plus reboot of each node running the LIO iSCSI target. Setting ErrorRecoveryLevel back to 0 removes the double-free path but not the overread. No vendor advisory beyond the kernel stable commits is present in the record.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.