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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2022-49767— 9p/trans_fd: always use O_NONBLOCK read/write

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存在安全漏洞,该漏洞源于未设置O_NONBLOCK标志,可能导致阻塞。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.19% · P9

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux 27979bb2ff748613dba96ae66392a76fb0678527< 0b5e6bd72b8171364616841603a70e4ba9837063 affected
27979bb2ff748613dba96ae66392a76fb0678527< 9f8554615df668e4bf83294633ee9d232b28ce45 affected
27979bb2ff748613dba96ae66392a76fb0678527< 7abf40f06a76c0dff42eada10597917e9776fbd4 affected
27979bb2ff748613dba96ae66392a76fb0678527< b1ad04da7fe4515e2ce2d5f2dcab3b5b6d45614b affected
27979bb2ff748613dba96ae66392a76fb0678527< a8e2fc8f7b41fa9d9ca5f624f4e4d34fce5b40a9 affected
27979bb2ff748613dba96ae66392a76fb0678527< 0e07032b4b4724b8ad1003698cb81083c1818999 affected
27979bb2ff748613dba96ae66392a76fb0678527< 5af16182c5639349415118e9e9aecd8355f7a08b affected
27979bb2ff748613dba96ae66392a76fb0678527< ef575281b21e9a34dfae544a187c6aac2ae424a9 affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-49767

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
9p/trans_fd: always use O_NONBLOCK read/write
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: 9p/trans_fd: always use O_NONBLOCK read/write syzbot is reporting hung task at p9_fd_close() [1], for p9_mux_poll_stop() from p9_conn_destroy() from p9_fd_close() is failing to interrupt already started kernel_read() from p9_fd_read() from p9_read_work() and/or kernel_write() from p9_fd_write() from p9_write_work() requests. Since p9_socket_open() sets O_NONBLOCK flag, p9_mux_poll_stop() does not need to interrupt kernel_read()/kernel_write(). However, since p9_fd_open() does not set O_NONBLOCK flag, but pipe blocks unless signal is pending, p9_mux_poll_stop() needs to interrupt kernel_read()/kernel_write() when the file descriptor refers to a pipe. In other words, pipe file descriptor needs to be handled as if socket file descriptor. We somehow need to interrupt kernel_read()/kernel_write() on pipes. A minimal change, which this patch is doing, is to set O_NONBLOCK flag from p9_fd_open(), for O_NONBLOCK flag does not affect reading/writing of regular files. But this approach changes O_NONBLOCK flag on userspace- supplied file descriptors (which might break userspace programs), and O_NONBLOCK flag could be changed by userspace. It would be possible to set O_NONBLOCK flag every time p9_fd_read()/p9_fd_write() is invoked, but still remains small race window for clearing O_NONBLOCK flag. If we don't want to manipulate O_NONBLOCK flag, we might be able to surround kernel_read()/kernel_write() with set_thread_flag(TIF_SIGPENDING) and recalc_sigpending(). Since p9_read_work()/p9_write_work() works are processed by kernel threads which process global system_wq workqueue, signals could not be delivered from remote threads when p9_mux_poll_stop() from p9_conn_destroy() from p9_fd_close() is called. Therefore, calling set_thread_flag(TIF_SIGPENDING)/recalc_sigpending() every time would be needed if we count on signals for making kernel_read()/kernel_write() non-blocking. [Dominique: add comment at Christian's suggestion]
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存在安全漏洞,该漏洞源于未设置O_NONBLOCK标志,可能导致阻塞。
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 27979bb2ff748613dba96ae66392a76fb0678527 ~ 0b5e6bd72b8171364616841603a70e4ba9837063 -
Linux Linux 2.6.17 -

II. Public POCs for CVE-2022-49767

# 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-49767

登录查看更多情报信息。

Patches & Fixes for CVE-2022-49767 (8)

Same Patch Batch · Linux · 2025-05-01 · 245 CVEs total

CVE-2025-37750 9.8 CRITICAL smb: client: fix UAF in decryption with multichannel
CVE-2025-37778 9.8 CRITICAL ksmbd: Fix dangling pointer in krb_authenticate
CVE-2022-49770 9.8 CRITICAL ceph: avoid putting the realm twice when decoding snaps fails
CVE-2022-49931 8.8 HIGH IB/hfi1: Correctly move list in sc_disable()
CVE-2025-37776 8.8 HIGH ksmbd: fix use-after-free in smb_break_all_levII_oplock()
CVE-2025-37777 8.8 HIGH ksmbd: fix use-after-free in __smb2_lease_break_noti()
CVE-2025-37790 8.8 HIGH net: mctp: Set SOCK_RCU_FREE
CVE-2022-49910 8.8 HIGH Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu
CVE-2022-49886 8.4 HIGH x86/tdx: Panic on bad configs that #VE on "private" memory access
CVE-2025-23159 8.4 HIGH media: venus: hfi: add a check to handle OOB in sfr region
CVE-2025-37749 8.2 HIGH net: ppp: Add bound checking for skb data on ppp_sync_txmung
CVE-2025-37765 7.8 HIGH drm/nouveau: prime: fix ttm_bo_delayed_delete oops
CVE-2025-37779 7.8 HIGH lib/iov_iter: fix to increase non slab folio refcount
CVE-2022-49920 7.8 HIGH netfilter: nf_tables: netlink notifier might race to release objects
CVE-2022-49919 7.8 HIGH netfilter: nf_tables: release flow rule object from commit path
CVE-2022-49921 7.8 HIGH net: sched: Fix use after free in red_enqueue()
CVE-2025-37752 7.8 HIGH net_sched: sch_sfq: move the limit validation
CVE-2025-37756 7.8 HIGH net: tls: explicitly disallow disconnect
CVE-2025-37761 7.8 HIGH drm/xe: Fix an out-of-bounds shift when invalidating TLB
CVE-2022-49804 7.8 HIGH s390: avoid using global register for current_stack_pointer

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

IV. Related Vulnerabilities

V. Comments for CVE-2022-49767

No comments yet


Leave a comment