LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50409: net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory

In the Linux kernel, the following vulnerability has been resolved: net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory Fixes the below NULL pointer dereference: [...] [ 14.471200] Call Trace: [ 14.471562] <TASK> [ 14.471882] lock_acquire+0x245/0x2e0 [ 14.472416] ? remove_wait_queue+0x12/0x50 [ 14.473014] ? _raw_spin_lock_irqsave+0x17/0x50 [ 14.473681] _raw_spin_lock_irqsave+0x3d/0x50 [ 14.474318] ? remove_wait_queue+0x12/0x50 [ 14.474907] remove_wait_queue+0x12/0x50 [ 14.475480] sk_stream_wait_memory+0x20d/0x340 [ 14.476127] ? do_wait_intr_irq+0x80/0x80 [ 14.476704] do_tcp_sendpages+0x287/0x600 [ 14.477283] tcp_bpf_push+0xab/0x260 [ 14.477817] tcp_bpf_sendmsg_redir+0x297/0x500 [ 14.478461] ? __local_bh_enable_ip+0x77/0xe0 [ 14.479096] tcp_bpf_send_verdict+0x105/0x470 [ 14.479729] tcp_bpf_sendmsg+0x318/0x4f0 [ 14.480311] sock_sendmsg+0x2d/0x40 [ 14.480822] ____sys_sendmsg+0x1b4/0x1c0 [ 14.481390] ? copy_msghdr_from_user+0x62/0x80 [ 14.482048] ___sys_sendmsg+0x78/0xb0 [ 14.482580] ? vmf_insert_pfn_prot+0x91/0x150 [ 14.483215] ? __do_fault+0x2a/0x1a0 [ 14.483738] ? do_fault+0x15e/0x5d0 [ 14.484246] ? __handle_mm_fault+0x56b/0x1040 [ 14.484874] ? lock_is_held_type+0xdf/0x130 [ 14.485474] ? find_held_lock+0x2d/0x90 [ 14.486046] ? __sys_sendmsg+0x41/0x70 [ 14.486587] __sys_sendmsg+0x41/0x70 [ 14.487105] ? intel_pmu_drain_pebs_core+0x350/0x350 [ 14.487822] do_syscall_64+0x34/0x80 [ 14.488345] entry_SYSCALL_64_after_hwframe+0x63/0xcd [...] The test scenario has the following flow: thread1 thread2 ----------- --------------- tcp_bpf_sendmsg tcp_bpf_send_verdict tcp_bpf_sendmsg_redir sock_close tcp_bpf_push_locked __sock_release tcp_bpf_push //inet_release do_tcp_sendpages sock->ops->release sk_stream_wait_memory // tcp_close sk_wait_event sk->sk_prot->close release_sock(__sk); *** lock_sock(sk); __tcp_close sock_orphan(sk) sk->sk_wq = NULL release_sock **** lock_sock(__sk); remove_wait_queue(sk_sleep(sk), &wait); sk_sleep(sk) //NULL pointer dereference &rcu_dereference_raw(sk->sk_wq)->wait While waiting for memory in thread1, the socket is released with its wait queue because thread2 has closed it. This caused by tcp_bpf_send_verdict didn't increase the f_count of psock->sk_redir->sk_socket->file in thread1. We should check if SOCK_DEAD flag is set on wakeup in sk_stream_wait_memory before accessing the wait queue.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This Linux kernel flaw can crash kernel networking code when a socket is closed while another thread is waiting to send data through a TCP BPF path. The public record describes a NULL pointer dereference, which primarily points to availability risk. No public source in the bundle reports active exploitation.

Executive priority

Schedule remediation through normal kernel patch cycles, raising priority for shared platforms, container hosts, or systems where untrusted workloads run. Current public evidence does not support emergency treatment, but kernel crashes can still create service outages.

Technical view

CVE-2022-50409 is a race in sk_stream_wait_memory. During tcp_bpf_sendmsg redirection, one thread can wait on socket memory while another closes and orphans the socket, clearing sk_wq. The fix checks SOCK_DEAD on wakeup before accessing the wait queue.

Likely exposure

Exposure is limited to Linux systems running affected kernel versions or backports containing the vulnerable networking logic. Exact risk depends on distribution kernel packaging, enabled kernel features, and whether local or containerized workloads can exercise TCP BPF send paths.

Exploitation context

The source bundle provides a kernel crash trace and race scenario, not a public exploit. KEV is false, and no cited source states active exploitation. Treat this as a kernel availability issue until vendor advisories provide stronger impact detail.

Researcher notes

The key condition is a close/send race around tcp_bpf_sendmsg redirection and sk_stream_wait_memory after sock_orphan clears sk_wq. The public fix direction is a SOCK_DEAD check before dereferencing the wait queue. The bundle lacks CVSS, CWE, exploitability constraints, and distro-specific scope.

Mitigation direction

  • Map production kernels to vendor advisories and fixed stable commits.
  • Prioritize kernel updates where affected versions are confirmed.
  • Check distribution backport notes before assuming version numbers are vulnerable or fixed.
  • Restrict unnecessary local privilege and container capabilities where practical.
  • Monitor vendor guidance for severity, impact, and operational mitigations.

Validation and detection

  • Inventory Linux kernel versions across servers, containers, and appliances.
  • Compare kernel builds against the CVE record and referenced stable commits.
  • Review vendor security advisories for backported fixes.
  • Check crash logs for NULL dereferences involving sk_stream_wait_memory or TCP BPF paths.
  • Confirm patched kernels are deployed after maintenance windows.
Prepared
Confidence
medium
Sources
8

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2022-50409 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
0Timeline events
0ADP providers
7Source links

CVSS and timeline data

No CVSS vectors or timeline events were available in the normalized CVE source material.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux604326b41a6fb9b4a78b6179335decee0365cd8c, 604326b41a6fb9b4a78b6179335decee0365cd8c, 604326b41a6fb9b4a78b6179335decee0365cd8c, 604326b41a6fb9b4a78b6179335decee0365cd8c, 604326b41a6fb9b4a78b6179335decee0365cd8c, 604326b41a6fb9b4a78b6179335decee0365cd8cunaffected
LinuxLinux4.20, 0, 5.4.220, 5.10.150, 5.15.75, 5.19.17, 6.0.3, 6.1affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.