High [CVE-2026-63888] Fix CRC overread and double-free in iscsit_handle_text_cmd
This high-severity Red Hat Linux advisory covers CVE-2026-63888 affecting Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support, Red Hat Enterprise Linux 8.6 Extended Update Support Long-Life Add-On.
Android app · Google Play
Monitor future Red Hat Linux CVEs from your phone.
Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 32 official vendor sources and 160+ reviewed platform categories.
Summary
In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd() Two latent bugs in the Text-phase handler, both present since the original LIO integration in commit e48354ce078c ("iscsi-target: Add iSCSI fabric support for target v4.1"): 1) DataDigest CRC buffer overread (4 bytes past text_in). text_in is kzalloc()'d at ALIGN(payload_length, 4). rx_size is then incremented by ISCSI_CRC_LEN to make room for the received DataDigest in the iovec, but the same (now-bumped) rx_size is passed as the buffer length to iscsit_crc_buf(): if (conn->conn_ops->DataDigest) {... rx_size += ISCSI_CRC_LEN; }... if (conn->conn_ops->DataDigest) { data_crc = iscsit_crc_buf(text_in, rx_size, 0, NULL); iscsit_crc_buf() walks rx_size bytes of text_in with crc32c(), so when DataDigest is negotiated it reads 4 bytes past the end of the text_in allocation.
KASAN reproduces this directly on the unpatched mainline tree as slab-out-of-bounds in crc32c() called from the Text PDU path. The OOB bytes feed crc32c() and are then compared against the initiator-supplied checksum, so the value does not flow back to the attacker, but the kernel does read past the buffer on every Text PDU with DataDigest=CRC32C.
Fix by passing the actual padded payload length (ALIGN(payload_length, 4)) that was used for the kzalloc().
Affected versions
No affected-version range was extracted from the source record. The vendor advisory is authoritative — check it before change work.
Official advisory · high-confidence parse· fetched 6 days ago·verify at source
- kernel-0:6.12.0-211.49.1.el10_2
- kernel-rt-0:4.18.0-553.157.1.rt7.498.el8_10
- kernel-0:4.18.0-553.157.1.el8_10
- kernel-0:4.18.0-372.208.1.el8_6
- kernel-0:5.14.0-687.41.1.el9_8
- RHSA-2026:57251
- RHSA-2026:57254
- RHSA-2026:57253
- RHSA-2026:59473
- RHSA-2026:57252
Official advisory · high-confidence parse· fetched 6 days ago·verify at source
Mitigation
Upgrade to a fixed release: kernel-0:6.12.0-211.49.1.el10_2, kernel-rt-0:4.18.0-553.157.1.rt7.498.el8_10, kernel-0:4.18.0-553.157.1.el8_10, kernel-0:4.18.0-372.208.1.el8_6, kernel-0:5.14.0-687.41.1.el9_8, RHSA-2026:57251. That is the remediation for this advisory.
The vendor advisory may list additional interim mitigations or workarounds not captured here — review it before change work.
Official advisory · high-confidence parse· fetched 6 days ago·verify at source
Discussion(0)
No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.
Sign in to join the discussion.