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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-53260— tcp: Add preempt_{disable,enable}_nested() in reqsk_queue_hash_req().

AI Predicted 5.5 Difficulty: Hard EPSS 0.15% · P5
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-53260

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
tcp: Add preempt_{disable,enable}_nested() in reqsk_queue_hash_req().
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: tcp: Add preempt_{disable,enable}_nested() in reqsk_queue_hash_req(). syzbot reported a weird reqsk->rsk_refcnt underflow in __inet_csk_reqsk_queue_drop(). The captured reqsk_put() in __inet_csk_reqsk_queue_drop() is called only when it successfully removes reqsk from ehash. Moreover, reqsk_timer_handler() calls another reqsk_put() after that. This indicates that the reqsk was missing both refcnts for ehash and the timer itself. Since all the syzbot reports had PREEMPT_RT enabled, the only possible scenario is that reqsk_queue_hash_req() is preempted after mod_timer() and before refcount_set(), and then the timer triggered after 1s aborts the reqsk due to its listener's close(). Let's wrap mod_timer() and refcount_set() with preempt_disable_nested() and preempt_enable_nested(). Note that inet_ehash_insert() holds the normal spin_lock() (mutex in PREEMPT_RT), so it must be called outside of preempt_disable_nested(), but this is fine. The lookup path just ignores 0 sk_refcnt entries in ehash and tries to create another reqsk, but this will fail at inet_ehash_insert(). [0]: refcount_t: underflow; use-after-free. WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xb2/0x110 lib/refcount.c:28, CPU#0: ktimers/0/16 Modules linked in: CPU: 0 UID: 0 PID: 16 Comm: ktimers/0 Tainted: G L syzkaller #0 PREEMPT_{RT,(full)} Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026 RIP: 0010:refcount_warn_saturate+0xb2/0x110 lib/refcount.c:28 Code: e4 7d d1 0a 67 48 0f b9 3a eb 4a e8 38 3d 23 fd 48 8d 3d e1 7d d1 0a 67 48 0f b9 3a eb 37 e8 25 3d 23 fd 48 8d 3d de 7d d1 0a <67> 48 0f b9 3a eb 24 e8 12 3d 23 fd 48 8d 3d db 7d d1 0a 67 48 0f RSP: 0000:ffffc90000157948 EFLAGS: 00010246 RAX: ffffffff84a1301b RBX: 0000000000000003 RCX: ffff88801ca98000 RDX: 0000000000000100 RSI: 0000000000000000 RDI: ffffffff8f72ae00 RBP: ffffffff99ae3b01 R08: ffff88801ca98000 R09: 0000000000000005 R10: 0000000000000100 R11: 0000000000000004 R12: ffff8880425ef568 R13: ffff8880425ef4f8 R14: ffff8880425ef578 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff888126386000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f7b46710e9c CR3: 000000000dbb6000 CR4: 00000000003526f0 Call Trace: <TASK> __refcount_sub_and_test include/linux/refcount.h:400 [inline] __refcount_dec_and_test include/linux/refcount.h:432 [inline] refcount_dec_and_test include/linux/refcount.h:450 [inline] reqsk_put include/net/request_sock.h:136 [inline] __inet_csk_reqsk_queue_drop+0x3ce/0x440 net/ipv4/inet_connection_sock.c:1007 reqsk_timer_handler+0x651/0xdf0 net/ipv4/inet_connection_sock.c:1137 call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748 expire_timers kernel/time/timer.c:1799 [inline] __run_timers kernel/time/timer.c:2374 [inline] __run_timer_base+0x6a3/0x9f0 kernel/time/timer.c:2386 run_timer_base kernel/time/timer.c:2395 [inline] run_timer_softirq+0x67/0x170 kernel/time/timer.c:2403 handle_softirqs+0x1de/0x6d0 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] run_ktimerd+0x69/0x100 kernel/softirq.c:1151 smpboot_thread_fn+0x541/0xa50 kernel/smpboot.c:160 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK>
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux d2d6422f8bd17c6bb205133e290625a564194496 ~ b183215ff714efb747d9d5a429322ba6404b5401 -
LinuxLinux 6.12 -

II. Public POCs for CVE-2026-53260

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-53260

登录查看更多情报信息。

Other References for CVE-2026-53260 (2)

Same Patch Batch · Linux · 2026-06-25 · 147 CVEs total

CVE-2026-53185zram: fix use-after-free in zram_bvec_write_partial()
CVE-2026-53167fuse: limit FUSE_NOTIFY_RETRIEVE to uptodate folios
CVE-2026-53168fuse: reject fuse_notify() pagecache ops on directories
CVE-2026-53169accel/ethosu: reject NPU_OP_RESIZE commands from userspace
CVE-2026-53171accel/ethosu: fix arithmetic issues in dma_length()
CVE-2026-53170accel/ethosu: reject DMA commands with uninitialized length
CVE-2026-53172accel/ethosu: fix IFM region index out-of-bounds in command stream parser
CVE-2026-53174ovl: keep err zero after successful ovl_cache_get()
CVE-2026-53173accel/ethosu: fix OOB write in ethosu_gem_cmdstream_copy_and_validate()
CVE-2026-53175inet: frags: fix use-after-free caused by the fqdir_pre_exit() flush
CVE-2026-53177bnxt_en: Fix NULL pointer dereference
CVE-2026-53176IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN
CVE-2026-53178staging: rtl8723bs: rtw_mlme: add bounds checks before ie_length subtraction
CVE-2026-53180timers/migration: Fix livelock in tmigr_handle_remote_up()
CVE-2026-53179staging: rtl8723bs: fix buffer over-read in rtw_update_protection
CVE-2026-53181vsock/vmci: fix sk_ack_backlog leak on failed handshake
CVE-2026-53182wifi: nl80211: reject oversized EMA RNR lists
CVE-2026-53183mptcp: allow subflow rcv wnd to shrink
CVE-2026-53184udp: clear skb->dev before running a sockmap verdict
CVE-2026-53196USB: serial: io_ti: fix heap overflow in get_manuf_info()

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-53260

No comments yet


Leave a comment