Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未正确处理死亡套接字的sk_wq访问,可能导致空指针取消引用。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.16% · P5

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 14

VendorProduct Version RangeStatus
Linux Linux 604326b41a6fb9b4a78b6179335decee0365cd8c< a76462dbdd8bddcbeec9463bc9e54e509b860762 affected
604326b41a6fb9b4a78b6179335decee0365cd8c< 65029aaedd15d9fe5ea1a899134e236d83f627bb affected
604326b41a6fb9b4a78b6179335decee0365cd8c< 124b7c773271f06af5a2cea694b283cdb5275cf5 affected
604326b41a6fb9b4a78b6179335decee0365cd8c< 35f5e70bdfa7432762ac4ffa75e5a7574ac5563e affected
604326b41a6fb9b4a78b6179335decee0365cd8c< 435f5aa4421782af197b98d8525263977be4af5c affected
604326b41a6fb9b4a78b6179335decee0365cd8c< 3f8ef65af927db247418d4e1db49164d7a158fc5 affected
4.20 affected
< 4.20 unaffected
… +6 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-50409

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未正确处理死亡套接字的sk_wq访问,可能导致空指针取消引用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 604326b41a6fb9b4a78b6179335decee0365cd8c ~ a76462dbdd8bddcbeec9463bc9e54e509b860762 -
Linux Linux 4.20 -

II. Public POCs for CVE-2022-50409

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-50409

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-18 · 121 CVEs total

CVE-2022-50410 9.8 CRITICAL NFSD: Protect against send buffer overflow in NFSv2 READ
CVE-2022-50401 9.8 CRITICAL nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
CVE-2023-53382 9.8 CRITICAL net/smc: Reset connection when trying to use SMCRv2 fails.
CVE-2022-50419 8.8 HIGH Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times
CVE-2022-50413 8.8 HIGH wifi: mac80211: fix use-after-free
CVE-2023-53431 8.8 HIGH scsi: ses: Handle enclosure with just a primary component gracefully
CVE-2023-53432 8.8 HIGH firewire: net: fix use after free in fwnet_finish_incoming_packet()
CVE-2023-53374 8.8 HIGH Bluetooth: hci_conn: fail SCO/ISO via hci_conn_failed if ACL gone early
CVE-2022-50386 8.8 HIGH Bluetooth: L2CAP: Fix user-after-free
CVE-2023-53372 8.2 HIGH sctp: fix a potential overflow in sctp_ifwdtsn_skip
CVE-2022-50399 7.8 HIGH media: atomisp: prevent integer overflow in sh_css_set_black_frame()
CVE-2023-53398 7.8 HIGH mlx5: fix possible ptp queue fifo use-after-free
CVE-2023-53394 7.8 HIGH net/mlx5e: xsk: Fix crash on regular rq reactivation
CVE-2022-50417 7.8 HIGH drm/panfrost: Fix GEM handle creation ref-counting
CVE-2023-53429 7.8 HIGH btrfs: don't check PageError in __extent_writepage
CVE-2023-53373 7.8 HIGH crypto: seqiv - Handle EBUSY correctly
CVE-2023-53387 7.8 HIGH scsi: ufs: core: Fix device management cmd timeout flow
CVE-2023-53378 7.8 HIGH drm/i915/dpt: Treat the DPT BO as a framebuffer
CVE-2023-53386 7.8 HIGH Bluetooth: Fix potential use-after-free when clear keys
CVE-2023-53426 7.8 HIGH xsk: Fix xsk_diag use-after-free error during socket cleanup

Showing top 20 of 121 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2022-50409

No comments yet


Leave a comment