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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2022-49014— net: tun: Fix use-after-free in tun_detach()

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存在安全漏洞,该漏洞源于net/tun模块在tun_detach函数中可能发生释放后重用问题。

CVSS 7.8 · High EPSS 0.26% · P17

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 14

VendorProduct Version RangeStatus
Linux Linux 83c1f36f9880814b24cdf6c2f91f66f61db65326< 1f23f1890d91812c35d32eab1b49621b6d32dc7b affected
83c1f36f9880814b24cdf6c2f91f66f61db65326< 16c244bc65d1175775325ec0489a5a5c830e02c7 affected
83c1f36f9880814b24cdf6c2f91f66f61db65326< 5f442e1d403e0496bacb74a58e2be7f500695e6f affected
83c1f36f9880814b24cdf6c2f91f66f61db65326< 04b995e963229501401810dab89dc73e7f12d054 affected
83c1f36f9880814b24cdf6c2f91f66f61db65326< 4cde8da2d814a3b7b176db81922d4ddaad7c0f0e affected
83c1f36f9880814b24cdf6c2f91f66f61db65326< 5daadc86f27ea4d691e2131c04310d0418c6cd12 affected
4.17 affected
< 4.17 unaffected
… +6 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-49014

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
net: tun: Fix use-after-free in tun_detach()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: tun: Fix use-after-free in tun_detach() syzbot reported use-after-free in tun_detach() [1]. This causes call trace like below: ================================================================== BUG: KASAN: use-after-free in notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 Read of size 8 at addr ffff88807324e2a8 by task syz-executor.0/3673 CPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [inline] print_report+0x15e/0x461 mm/kasan/report.c:395 kasan_report+0xbf/0x1f0 mm/kasan/report.c:495 notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942 call_netdevice_notifiers_extack net/core/dev.c:1983 [inline] call_netdevice_notifiers net/core/dev.c:1997 [inline] netdev_wait_allrefs_any net/core/dev.c:10237 [inline] netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351 tun_detach drivers/net/tun.c:704 [inline] tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467 __fput+0x27c/0xa90 fs/file_table.c:320 task_work_run+0x16f/0x270 kernel/task_work.c:179 exit_task_work include/linux/task_work.h:38 [inline] do_exit+0xb3d/0x2a30 kernel/exit.c:820 do_group_exit+0xd4/0x2a0 kernel/exit.c:950 get_signal+0x21b1/0x2440 kernel/signal.c:2858 arch_do_signal_or_restart+0x86/0x2300 arch/x86/kernel/signal.c:869 exit_to_user_mode_loop kernel/entry/common.c:168 [inline] exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline] syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296 do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x63/0xcd The cause of the issue is that sock_put() from __tun_detach() drops last reference count for struct net, and then notifier_call_chain() from netdev_state_change() accesses that struct net. This patch fixes the issue by calling sock_put() from tun_detach() after all necessary accesses for the struct net has done.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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存在安全漏洞,该漏洞源于net/tun模块在tun_detach函数中可能发生释放后重用问题。
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 83c1f36f9880814b24cdf6c2f91f66f61db65326 ~ 1f23f1890d91812c35d32eab1b49621b6d32dc7b -
Linux Linux 4.17 -

II. Public POCs for CVE-2022-49014

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

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

Patches & Fixes for CVE-2022-49014 (4)

Same Patch Batch · Linux · 2024-10-21 · 372 CVEs total

CVE-2024-49855 9.8 CRITICAL nbd: fix race between timeout and normal completion
CVE-2024-47695 9.8 CRITICAL RDMA/rtrs-clt: Reset cid to con_num - 1 to stay in bounds
CVE-2022-48985 9.8 CRITICAL net: mana: Fix race on per-CQ variable napi work_done
CVE-2022-49003 9.8 CRITICAL nvme: fix SRCU protection of nvme_ns_head list
CVE-2024-50046 9.8 CRITICAL NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies()
CVE-2024-50047 9.8 CRITICAL smb: client: fix UAF in async decryption
CVE-2024-50043 9.8 CRITICAL nfsd: fix possible badness in FREE_STATEID
CVE-2024-50033 9.8 CRITICAL slip: make slhc_remember() more robust against malicious packets
CVE-2024-47678 9.4 CRITICAL icmp: change the order of rate limits
CVE-2024-49996 9.4 CRITICAL cifs: Fix buffer overflow when parsing NFS reparse points
CVE-2022-48967 8.8 HIGH NFC: nci: Bounds check struct nfc_target arrays
CVE-2024-50041 8.8 HIGH i40e: Fix macvlan leak by synchronizing access to mac_filter_hash
CVE-2024-49950 8.8 HIGH Bluetooth: L2CAP: Fix uaf in l2cap_connect
CVE-2022-48964 8.8 HIGH ravb: Fix potential use-after-free in ravb_rx_gbeth()
CVE-2022-48962 8.8 HIGH net: hisilicon: Fix potential use-after-free in hisi_femac_rx()
CVE-2024-49930 8.8 HIGH wifi: ath11k: fix array out-of-bound access in SoC stats
CVE-2024-49936 8.8 HIGH net/xen-netback: prevent UAF in xenvif_flush_hash()
CVE-2024-49939 8.8 HIGH wifi: rtw89: avoid to add interface to list twice when SER
CVE-2022-48960 8.8 HIGH net: hisilicon: Fix potential use-after-free in hix5hd2_rx()
CVE-2024-50029 8.8 HIGH Bluetooth: hci_conn: Fix UAF in hci_enhanced_setup_sync

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

IV. Related Vulnerabilities

V. Comments for CVE-2022-49014

No comments yet


Leave a comment