CVE-2022-50459

Source
https://cve.org/CVERecord?id=CVE-2022-50459
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50459.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-50459
Downstream
Related
Published
2025-10-01T11:45:31.740Z
Modified
2026-03-20T11:47:28.541758Z
Summary
scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername()
Details

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

scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername()

Fix a NULL pointer crash that occurs when we are freeing the socket at the same time we access it via sysfs.

The problem is that:

  1. iscsiswtcpconngetparam() and iscsiswtcphostgetparam() take the frwdlock and do sockhold() then drop the frwdlock. sockhold() does a get on the "struct sock".

  2. iscsiswtcpreleaseconn() does sockfd_put() which does the last put on the "struct socket" and that does _sockrelease() which sets the sock->ops to NULL.

  3. iscsiswtcpconngetparam() and iscsiswtcphostgetparam() then call kernel_getpeername() which accesses the NULL sock->ops.

Above we do a get on the "struct sock", but we needed a get on the "struct socket". Originally, we just held the frwdlock the entire time but in commit bcf3a2953d36 ("scsi: iscsi: iscsitcp: Avoid holding spinlock while calling getpeername()") we switched to refcount based because the network layer changed and started taking a mutex in that path, so we could no longer hold the frwd_lock.

Instead of trying to maintain multiple refcounts, this just has us use a mutex for accessing the socket in the interface code paths.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50459.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
bcf3a2953d36bbfb9bd44ccb3db0897d935cc485
Fixed
884a788f065578bb640382279a83d1df433b13e6
Fixed
a26b0658751bb0a3b28386fca715333b104d32a2
Fixed
897dbbc57d71e8a34ec1af8e573a142de457da38
Fixed
0a0b861fce2657ba08ec356a74346b37ca4b2008
Fixed
57569c37f0add1b6489e1a1563c71519daf732cf
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
7d29e950766327f658cb92722b9445ac3b3ae023

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50459.json"