Skip to content
VulniPulse
High7.0Red Hat Linux

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.

CVE-2026-63888 Published Jul 19, 2026Updated by vendor Jul 19, 2026
Affected products & platforms
Red Hat LinuxLinux Kernel
Open vendor advisory

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.

Matching phone alertsOptional email delivery

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

Fixed versions
  • 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.