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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-53809— l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register()

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存在安全漏洞,该漏洞源于l2tp_tunnel_register在传递pppol2tp文件描述符时可能导致递归死锁。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.19% · P8

Affected Version Matrix 15

VendorProduct Version RangeStatus
Linux Linux 2d77e5c0ad79004b5ef901895437e9cce6dfcc7e< 4a413d360959962995e16a899cf2b9ef53e9fcb9 affected
77e8ed776cdb1a24b2aab8fe7c6f1f154235e1ce< f6df58aa15f7d469f69b1dd21b001ff483255244 affected
cef0845b6dcfa2f6c2c832e7f9622551456c741d< 4bb736b40475528ac1aa8c98b368563618488a70 affected
0b2c59720e65885a394a017d0cf9cab118914682< 5370647dd745bb3d8f37057006be207ddd8e9314 affected
0b2c59720e65885a394a017d0cf9cab118914682< 9ca5e7ecab064f1f47da07f7c1ddf40e4bc0e5ac affected
5.10.166< 5.10.173 affected
5.15.91< 5.15.99 affected
6.1.9< 6.1.16 affected
… +7 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-53809

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
l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register() When a file descriptor of pppol2tp socket is passed as file descriptor of UDP socket, a recursive deadlock occurs in l2tp_tunnel_register(). This situation is reproduced by the following program: int main(void) { int sock; struct sockaddr_pppol2tp addr; sock = socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OL2TP); if (sock < 0) { perror("socket"); return 1; } addr.sa_family = AF_PPPOX; addr.sa_protocol = PX_PROTO_OL2TP; addr.pppol2tp.pid = 0; addr.pppol2tp.fd = sock; addr.pppol2tp.addr.sin_family = PF_INET; addr.pppol2tp.addr.sin_port = htons(0); addr.pppol2tp.addr.sin_addr.s_addr = inet_addr("192.168.0.1"); addr.pppol2tp.s_tunnel = 1; addr.pppol2tp.s_session = 0; addr.pppol2tp.d_tunnel = 0; addr.pppol2tp.d_session = 0; if (connect(sock, (const struct sockaddr *)&addr, sizeof(addr)) < 0) { perror("connect"); return 1; } return 0; } This program causes the following lockdep warning: ============================================ WARNING: possible recursive locking detected 6.2.0-rc5-00205-gc96618275234 #56 Not tainted -------------------------------------------- repro/8607 is trying to acquire lock: ffff8880213c8130 (sk_lock-AF_PPPOX){+.+.}-{0:0}, at: l2tp_tunnel_register+0x2b7/0x11c0 but task is already holding lock: ffff8880213c8130 (sk_lock-AF_PPPOX){+.+.}-{0:0}, at: pppol2tp_connect+0xa82/0x1a30 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(sk_lock-AF_PPPOX); lock(sk_lock-AF_PPPOX); *** DEADLOCK *** May be due to missing lock nesting notation 1 lock held by repro/8607: #0: ffff8880213c8130 (sk_lock-AF_PPPOX){+.+.}-{0:0}, at: pppol2tp_connect+0xa82/0x1a30 stack backtrace: CPU: 0 PID: 8607 Comm: repro Not tainted 6.2.0-rc5-00205-gc96618275234 #56 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x100/0x178 __lock_acquire.cold+0x119/0x3b9 ? lockdep_hardirqs_on_prepare+0x410/0x410 lock_acquire+0x1e0/0x610 ? l2tp_tunnel_register+0x2b7/0x11c0 ? lock_downgrade+0x710/0x710 ? __fget_files+0x283/0x3e0 lock_sock_nested+0x3a/0xf0 ? l2tp_tunnel_register+0x2b7/0x11c0 l2tp_tunnel_register+0x2b7/0x11c0 ? sprintf+0xc4/0x100 ? l2tp_tunnel_del_work+0x6b0/0x6b0 ? debug_object_deactivate+0x320/0x320 ? lockdep_init_map_type+0x16d/0x7a0 ? lockdep_init_map_type+0x16d/0x7a0 ? l2tp_tunnel_create+0x2bf/0x4b0 ? l2tp_tunnel_create+0x3c6/0x4b0 pppol2tp_connect+0x14e1/0x1a30 ? pppol2tp_put_sk+0xd0/0xd0 ? aa_sk_perm+0x2b7/0xa80 ? aa_af_perm+0x260/0x260 ? bpf_lsm_socket_connect+0x9/0x10 ? pppol2tp_put_sk+0xd0/0xd0 __sys_connect_file+0x14f/0x190 __sys_connect+0x133/0x160 ? __sys_connect_file+0x190/0x190 ? lockdep_hardirqs_on+0x7d/0x100 ? ktime_get_coarse_real_ts64+0x1b7/0x200 ? ktime_get_coarse_real_ts64+0x147/0x200 ? __audit_syscall_entry+0x396/0x500 __x64_sys_connect+0x72/0xb0 do_syscall_64+0x38/0xb0 entry_SYSCALL_64_after_hwframe+0x63/0xcd This patch fixes the issue by getting/creating the tunnel before locking the pppol2tp socket.
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存在安全漏洞,该漏洞源于l2tp_tunnel_register在传递pppol2tp文件描述符时可能导致递归死锁。
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 2d77e5c0ad79004b5ef901895437e9cce6dfcc7e ~ 4a413d360959962995e16a899cf2b9ef53e9fcb9 -
Linux Linux 6.2 -

II. Public POCs for CVE-2023-53809

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

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

Same Patch Batch · Linux · 2025-12-09 · 152 CVEs total

CVE-2022-50666 9.8 CRITICAL RDMA/siw: Fix QP destroy to wait for all references dropped.
CVE-2025-40343 9.8 CRITICAL nvmet-fc: avoid scheduling association deletion twice
CVE-2023-53794 9.8 CRITICAL cifs: fix session state check in reconnect to avoid use-after-free issue
CVE-2025-40342 8.8 HIGH nvme-fc: use lock accessing port_state and rport state
CVE-2023-53822 8.8 HIGH wifi: ath11k: Ignore frags from uninitialized peer in dp.
CVE-2023-53785 8.8 HIGH mt76: mt7921: don't assume adequate headroom for SDIO headers
CVE-2025-40336 8.8 HIGH drm/gpusvm: fix hmm_pfn_to_map_order() usage
CVE-2023-53827 8.8 HIGH Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
CVE-2025-40328 8.8 HIGH smb: client: fix potential UAF in smb2_close_cached_fid()
CVE-2023-53851 8.4 HIGH drm/msm/dp: Drop aux devices together with DP controller
CVE-2025-40337 8.2 HIGH net: stmmac: Correctly handle Rx checksum offload errors
CVE-2022-50656 8.1 HIGH nfc: pn533: Clear nfc_target before being used
CVE-2023-53803 8.1 HIGH scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
CVE-2023-53800 7.8 HIGH ubi: Fix use-after-free when volume resizing failed
CVE-2023-53860 7.8 HIGH dm: don't attempt to queue IO under RCU protection
CVE-2023-53829 7.8 HIGH f2fs: flush inode if atomic file is aborted
CVE-2023-53790 7.8 HIGH bpf: Zeroing allocated object from slab in bpf memory allocator
CVE-2023-53836 7.8 HIGH bpf, sockmap: Fix skb refcnt race after locking changes
CVE-2023-53844 7.8 HIGH drm/ttm: Don't leak a resource on swapout move error
CVE-2023-53846 7.8 HIGH f2fs: fix to do sanity check on direct node in truncate_dnode()

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-53809

No comments yet


Leave a comment