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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-53668— ring-buffer: Fix deadloop issue on reading trace_pipe

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存在安全漏洞,该漏洞源于环形缓冲区处理不当,可能导致读取trace_pipe时出现软锁定。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.15% · P4

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux a5fb833172eca69136e9ee1ada778e404086ab8a< 0a29dae5786d263016a9aceb1e56bf3fd4cc6fa0 affected
a5fb833172eca69136e9ee1ada778e404086ab8a< a55e8a3596048c2f7b574049aeb1885b5abba1cc affected
a5fb833172eca69136e9ee1ada778e404086ab8a< e84829522fc72bb43556b31575731de0440ac0dd affected
a5fb833172eca69136e9ee1ada778e404086ab8a< 5e68f1f3a20fe9b6bde018e353269fbfa289609c affected
a5fb833172eca69136e9ee1ada778e404086ab8a< bb14a93bccc92766b1d9302c6bcbea17d4bce306 affected
a5fb833172eca69136e9ee1ada778e404086ab8a< 8b0b63fdac6b70a45614e7d4b30e5bbb93deb007 affected
a5fb833172eca69136e9ee1ada778e404086ab8a< 27bdd93e44cc28dd9b94893fae146b83d4f5b31e affected
a5fb833172eca69136e9ee1ada778e404086ab8a< 7e42907f3a7b4ce3a2d1757f6d78336984daf8f5 affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-53668

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
ring-buffer: Fix deadloop issue on reading trace_pipe
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Fix deadloop issue on reading trace_pipe Soft lockup occurs when reading file 'trace_pipe': watchdog: BUG: soft lockup - CPU#6 stuck for 22s! [cat:4488] [...] RIP: 0010:ring_buffer_empty_cpu+0xed/0x170 RSP: 0018:ffff88810dd6fc48 EFLAGS: 00000246 RAX: 0000000000000000 RBX: 0000000000000246 RCX: ffffffff93d1aaeb RDX: ffff88810a280040 RSI: 0000000000000008 RDI: ffff88811164b218 RBP: ffff88811164b218 R08: 0000000000000000 R09: ffff88815156600f R10: ffffed102a2acc01 R11: 0000000000000001 R12: 0000000051651901 R13: 0000000000000000 R14: ffff888115e49500 R15: 0000000000000000 [...] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8d853c2000 CR3: 000000010dcd8000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __find_next_entry+0x1a8/0x4b0 ? peek_next_entry+0x250/0x250 ? down_write+0xa5/0x120 ? down_write_killable+0x130/0x130 trace_find_next_entry_inc+0x3b/0x1d0 tracing_read_pipe+0x423/0xae0 ? tracing_splice_read_pipe+0xcb0/0xcb0 vfs_read+0x16b/0x490 ksys_read+0x105/0x210 ? __ia32_sys_pwrite64+0x200/0x200 ? switch_fpu_return+0x108/0x220 do_syscall_64+0x33/0x40 entry_SYSCALL_64_after_hwframe+0x61/0xc6 Through the vmcore, I found it's because in tracing_read_pipe(), ring_buffer_empty_cpu() found some buffer is not empty but then it cannot read anything due to "rb_num_of_entries() == 0" always true, Then it infinitely loop the procedure due to user buffer not been filled, see following code path: tracing_read_pipe() { ... ... waitagain: tracing_wait_pipe() // 1. find non-empty buffer here trace_find_next_entry_inc() // 2. loop here try to find an entry __find_next_entry() ring_buffer_empty_cpu(); // 3. find non-empty buffer peek_next_entry() // 4. but peek always return NULL ring_buffer_peek() rb_buffer_peek() rb_get_reader_page() // 5. because rb_num_of_entries() == 0 always true here // then return NULL // 6. user buffer not been filled so goto 'waitgain' // and eventually leads to an deadloop in kernel!!! } By some analyzing, I found that when resetting ringbuffer, the 'entries' of its pages are not all cleared (see rb_reset_cpu()). Then when reducing the ringbuffer, and if some reduced pages exist dirty 'entries' data, they will be added into 'cpu_buffer->overrun' (see rb_remove_pages()), which cause wrong 'overrun' count and eventually cause the deadloop issue. To fix it, we need to clear every pages in rb_reset_cpu().
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存在安全漏洞,该漏洞源于环形缓冲区处理不当,可能导致读取trace_pipe时出现软锁定。
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 a5fb833172eca69136e9ee1ada778e404086ab8a ~ 0a29dae5786d263016a9aceb1e56bf3fd4cc6fa0 -
Linux Linux 3.6 -

II. Public POCs for CVE-2023-53668

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53668

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

Patches & Fixes for CVE-2023-53668 (2)

Same Patch Batch · Linux · 2025-10-07 · 118 CVEs total

CVE-2023-53629 9.8 CRITICAL fs: dlm: fix use after free in midcomms commit
CVE-2023-53673 8.8 HIGH Bluetooth: hci_event: call disconnect callback before deleting conn
CVE-2023-53675 8.8 HIGH scsi: ses: Fix possible desc_ptr out-of-bounds accesses
CVE-2023-53676 8.8 HIGH scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
CVE-2023-53630 8.8 HIGH iommufd: Fix unpinning of pages when an access is present
CVE-2023-53679 8.3 HIGH wifi: mt7601u: fix an integer underflow
CVE-2023-53635 8.2 HIGH netfilter: conntrack: fix wrong ct->timeout value
CVE-2022-50528 7.8 HIGH drm/amdkfd: Fix memory leakage
CVE-2023-53659 7.8 HIGH iavf: Fix out-of-bounds when setting channels on remove
CVE-2023-53660 7.8 HIGH bpf, cpumap: Handle skb as well when clean up ptr_ring
CVE-2023-53619 7.8 HIGH netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
CVE-2023-53643 7.8 HIGH nvme-tcp: don't access released socket during error recovery
CVE-2023-53645 7.8 HIGH bpf: Make bpf_refcount_acquire fallible for non-owning refs
CVE-2023-53646 7.8 HIGH drm/i915/perf: add sentinel to xehp_oa_b_counters
CVE-2023-53669 7.8 HIGH tcp: fix skb_copy_ubufs() vs BIG TCP
CVE-2023-53626 7.8 HIGH ext4: fix possible double unlock when moving a directory
CVE-2023-53627 7.8 HIGH scsi: hisi_sas: Grab sas_dev lock when traversing the members of sas_dev.list
CVE-2022-50517 7.8 HIGH mm/huge_memory: do not clobber swp_entry_t during THP split
CVE-2022-50518 7.8 HIGH parisc: Fix locking in pdc_iodc_print() firmware call
CVE-2022-50543 7.8 HIGH RDMA/rxe: Fix mr->map double free

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-53668

No comments yet


Leave a comment