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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2021-46942— io_uring: fix shared sqpoll cancellation hangs

AI Predicted 7.5 Difficulty: Moderate EPSS 0.19% · P9

Affected Version Matrix 6

VendorProductVersion RangeStatus
LinuxLinux37d1e2e3642e2380750d7f35279180826f29660e< cb5e0b3d0f993a6268c1a2c7ede2f9aa0c17ef68affected
37d1e2e3642e2380750d7f35279180826f29660e< 734551df6f9bedfbefcd113ede665945e9de0b99affected
5.12affected
< 5.12unaffected
5.12.3≤ 5.12.*unaffected
5.13≤ *unaffected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2021-46942

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
io_uring: fix shared sqpoll cancellation hangs
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: io_uring: fix shared sqpoll cancellation hangs [ 736.982891] INFO: task iou-sqp-4294:4295 blocked for more than 122 seconds. [ 736.982897] Call Trace: [ 736.982901] schedule+0x68/0xe0 [ 736.982903] io_uring_cancel_sqpoll+0xdb/0x110 [ 736.982908] io_sqpoll_cancel_cb+0x24/0x30 [ 736.982911] io_run_task_work_head+0x28/0x50 [ 736.982913] io_sq_thread+0x4e3/0x720 We call io_uring_cancel_sqpoll() one by one for each ctx either in sq_thread() itself or via task works, and it's intended to cancel all requests of a specified context. However the function uses per-task counters to track the number of inflight requests, so it counts more requests than available via currect io_uring ctx and goes to sleep for them to appear (e.g. from IRQ), that will never happen. Cancel a bit more than before, i.e. all ctxs that share sqpoll and continue to use shared counters. Don't forget that we should not remove ctx from the list before running that task_work sqpoll-cancel, otherwise the function wouldn't be able to find the context and will hang.
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 存在安全漏洞。目前尚无此漏洞的相关信息,请随时关注CNNVD或厂商公告。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux 37d1e2e3642e2380750d7f35279180826f29660e ~ cb5e0b3d0f993a6268c1a2c7ede2f9aa0c17ef68 -
LinuxLinux 5.12 -

II. Public POCs for CVE-2021-46942

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-46942

登录查看更多情报信息。

Other References for CVE-2021-46942 (2)

Same Patch Batch · Linux · 2024-02-27 · 67 CVEs total

CVE-2021-469119.8 CRITICALch_ktls: Fix kernel panic
CVE-2021-469558.2 HIGHopenvswitch: fix stack OOB read while fragmenting IPv4 packets
CVE-2021-469637.8 HIGHscsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand()
CVE-2021-469257.8 HIGHnet/smc: fix kernel panic caused by race of smc_sock
CVE-2021-469297.8 HIGHsctp: use call_rcu to free endpoint
CVE-2021-469137.8 HIGHnetfilter: nftables: clone set element expression template
CVE-2021-469737.8 HIGHnet: qrtr: Avoid potential use after free in MHI send
CVE-2021-469367.8 HIGHnet: fix use-after-free in tw_timer_handler
CVE-2021-469337.8 HIGHusb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
CVE-2021-469697.8 HIGHbus: mhi: core: Fix invalid error returning in mhi_queue
CVE-2021-469587.8 HIGHbtrfs: fix race between transaction aborts and fsyncs leading to use-after-free
CVE-2021-469677.8 HIGHvhost-vdpa: fix vm_flags for virtqueue doorbell mapping
CVE-2021-469217.8 HIGHlocking/qrwlock: Fix ordering in queued_write_lock_slowpath()
CVE-2021-469227.8 HIGHKEYS: trusted: Fix TPM reservation for seal/unseal
CVE-2021-469487.5 HIGHsfc: farch: fix TX queue lookup in TX event handling
CVE-2021-469607.5 HIGHcifs: Return correct error code from smb2_get_enc_key
CVE-2021-469127.3 HIGHnet: Make tcp_allowed_congestion_control readonly in non-init netns
CVE-2021-469087.1 HIGHbpf: Use correct permission flag for mixed signed bounds arithmetic
CVE-2021-469747.1 HIGHbpf: Fix masking negation logic upon negative dst register
CVE-2021-469107.0 HIGHARM: 9063/1: mm: reduce maximum number of CPUs if DEBUG_KMAP_LOCAL is enabled

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-46942

No comments yet


Leave a comment