CVE-2026-74394 PUBLISHED

RDMA/srpt: fix integer overflow in immediate data length check

Assigner: Linux
Reserved: 15.08.2026 Published: 15.08.2026 Updated: 17.08.2026

In the Linux kernel, the following vulnerability has been resolved:

RDMA/srpt: fix integer overflow in immediate data length check

imm_buf->len is a user-controlled uint32_t received from the network. Adding it to imm_data_offset without overflow checking allows a malicious initiator to send len=0xFFFFFFFF, causing req_size to wrap around to a small value, bypassing the bounds check, and subsequently passing a ~4GB length to sg_init_one().

Use check_add_overflow() to detect wrapping before the comparison.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8

AV:N - SRPT is an in-kernel SCSI RDMA target reached by remote initiators over InfiniBand/RoCE via RDMA/IB CM; malicious SRP_CMD IUs are delivered through srpt_recv_done() without any local syscall or physical access. AC:L - Once connected on an immediate-data SRPT target (use_srq=0), a malicious initiator deterministically sets imm_buf->len=0xFFFFFFFF to wrap req_size and bypass checks; no race or attacker-uncontrollable condition is required. PR:N - SRPT enables LIO demo mode (srpt_check_true), so any remote initiator that completes SRP login on an enabled target gets a dynamic ACL without target-local credentials, root, or CAP_NET_ADMIN on the victim host. UI:N - Exploitation requires only attacker-initiated RDMA connection, SRP login, and crafted SRP_CMD traffic; no administrator or other user must mount storage or perform any action on the target. S:U - The integer overflow corrupts kernel heap memory and SCSI-target processing within the host kernel's own security authority; it does not cross VM, IOMMU, or container sandbox boundaries. C:H - Passing a ~4GB length to sg_init_one() on a small receive buffer creates a massive out-of-bounds scatterlist; subsequent target-core DMA/map operations can read far beyond the buffer, enabling arbitrary kernel memory disclosure. I:H - The bogus scatterlist gives the block/SCSI target path an attacker-controlled ~4GB kernel memory write/read primitive over adjacent heap objects, exploitable for control-flow hijacking and privilege escalation. A:H - Out-of-bounds access from a ~4GB scatterlist on a kilobyte-scale receive buffer readily triggers kernel oops, KASAN faults, or panic, denying availability even before full exploitation.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to c82c860f8c8e4f4f454c9f14d0ad0c0466965f7d (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to 3efa5301137140a3ca3677a9098c0a93a0acfd49 (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to 067b9556eeb007f28b7c2033b4dcde5b6d88418f (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to dcf7a986f377cce0749ed53f1d64195fbd5fdf91 (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to 07dec3f6dcb6c6cc891162d252b800eb0e6d5e8e (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to 65572fbd86033ae2370125593d59b8be34253aaf (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to 72497172a4799119a0282a5eb5e2b8ddcc821921 (excl.)
  • affected from 5dabcd0456d7ee17c2c7a17d7c2305444d2b9639 to eb4ecdf631fe00e8020bf461503cb9b7017ed796 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.0 is affected
  • unaffected from 0 to 5.0 (excl.)
  • unaffected from 5.10.261 to 5.10.* (incl.)
  • unaffected from 5.15.212 to 5.15.* (incl.)
  • unaffected from 6.1.178 to 6.1.* (incl.)
  • unaffected from 6.6.145 to 6.6.* (incl.)
  • unaffected from 6.12.97 to 6.12.* (incl.)
  • unaffected from 6.18.40 to 6.18.* (incl.)
  • unaffected from 7.1.5 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References