CVE-2022-50350
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
16/09/2025
Last modified:
17/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
scsi: target: iscsi: Fix a race condition between login_work and the login thread<br />
<br />
In case a malicious initiator sends some random data immediately after a<br />
login PDU; the iscsi_target_sk_data_ready() callback will schedule the<br />
login_work and, at the same time, the negotiation may end without clearing<br />
the LOGIN_FLAGS_INITIAL_PDU flag (because no additional PDU exchanges are<br />
required to complete the login).<br />
<br />
The login has been completed but the login_work function will find the<br />
LOGIN_FLAGS_INITIAL_PDU flag set and will never stop from rescheduling<br />
itself; at this point, if the initiator drops the connection, the<br />
iscsit_conn structure will be freed, login_work will dereference a released<br />
socket structure and the kernel crashes.<br />
<br />
BUG: kernel NULL pointer dereference, address: 0000000000000230<br />
PF: supervisor write access in kernel mode<br />
PF: error_code(0x0002) - not-present page<br />
Workqueue: events iscsi_target_do_login_rx [iscsi_target_mod]<br />
RIP: 0010:_raw_read_lock_bh+0x15/0x30<br />
Call trace:<br />
iscsi_target_do_login_rx+0x75/0x3f0 [iscsi_target_mod]<br />
process_one_work+0x1e8/0x3c0<br />
<br />
Fix this bug by forcing login_work to stop after the login has been<br />
completed and the socket callbacks have been restored.<br />
<br />
Add a comment to clearify the return values of iscsi_target_do_login()