CVE-2026-90293

IB/isert: post the full-feature receive buffers after session registration

State
Published
Severity
7.5 High
Published
Sep 17, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

IB/isert: post the full-feature receive buffers after session registration

isert_put_login_tx() posts the full-feature receive buffers before __transport_register_session() runs, so an initiator that does not wait for the final Login Response can still have a SCSI command executed against an se_session whose se_tpg is NULL - the same oops as the previous patch, at target_submit+0xbe.

Post them from isert_get_rx_pdu(), which the previous patch already uses to send that response, and post them before that send: the receive queue is filled at the moment the initiator is told it may use it. Allocating there keeps the existing property that a memory allocation failure cannot happen once the final Login Response is on the wire.

The receive queue is already empty between the final Login Request and isert_post_recvm(); this moves the second point later, from a median of 92 us to 172 us over 1200 logins. Only an initiator that sends before it has been told to can reach that window, and on IB and RoCE its send is retried there until the buffers appear - isert_rdma_accept() asks for rnr_retry_count = 7. iWARP has no RNR flow control, so there the same send terminates the connection instead.

Measured over rxe, 400 login cycles per run, with an initiator that does not wait: an instrumented build counted no entries to isert_recv_done() before the buffers are posted in 10 runs, where that initiator oopsed 8 of 10 unpatched runs and 5 of 10 with only the previous patch.

Not tested: iWARP, discovery sessions over iSER, and real HCAs.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b8d26b3be8b33682cf163274ed07479a70554633 to before 962edb9a6b0dae09d33a677485a398fc7d55968cAffected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before 068fe9841d2585b79d479fc7b58251d02d0b066fAffected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before d4f8257c3283919ca7e149381d062b9af5f7df7dAffected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before 9c21a433022219ca899d1b3cd9049991f51a6a2cAffected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before 9b2c61344992c8c2b883e1eebe416cc488a19390Affected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before 6c506fee5a5f2c8719c65bcfc5e5d0862b0a1946Affected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before ad4492dcaf90a1d1a728ec5eef1a68ce5355027aAffected
  • b8d26b3be8b33682cf163274ed07479a70554633 to before 5247dde9daac7e107853b6fea043f7f47be033f7Affected
LinuxLinux
  • 3.10Affected
  • before 3.10Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.