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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2022-49892— ftrace: Fix use-after-free for dynamic ftrace_ops

CVSS 7.8 · High EPSS 0.21% · P11

Affected Version Matrix 18

VendorProductVersion RangeStatus
LinuxLinuxedb096e00724f02db5f6ec7900f3bbd465c6c76f< ea5f2fd4640ecbb9df969bf8bb27733ae2183169affected
edb096e00724f02db5f6ec7900f3bbd465c6c76f< 88561a66777e7a2fe06638c6dcb22a9fae0b6733affected
edb096e00724f02db5f6ec7900f3bbd465c6c76f< cc1b9961a0ceb70f6ca4e2f4b8bb71c87c7a495caffected
edb096e00724f02db5f6ec7900f3bbd465c6c76f< 0e792b89e6800cd9cb4757a76a96f7ef3e8b6294affected
a60e407b961e818541ff7924afa8e51fbdb21a61affected
ed1bf4397d2219d4b9ec2d5517416ba102186650affected
100553e197e2c41eccf9fa04b2be9cd11ae21215affected
30d3c1c9c9dd31b3c3a5aa0f4f40f1e321c6c791affected
… +10 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2022-49892

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
ftrace: Fix use-after-free for dynamic ftrace_ops
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix use-after-free for dynamic ftrace_ops KASAN reported a use-after-free with ftrace ops [1]. It was found from vmcore that perf had registered two ops with the same content successively, both dynamic. After unregistering the second ops, a use-after-free occurred. In ftrace_shutdown(), when the second ops is unregistered, the FTRACE_UPDATE_CALLS command is not set because there is another enabled ops with the same content. Also, both ops are dynamic and the ftrace callback function is ftrace_ops_list_func, so the FTRACE_UPDATE_TRACE_FUNC command will not be set. Eventually the value of 'command' will be 0 and ftrace_shutdown() will skip the rcu synchronization. However, ftrace may be activated. When the ops is released, another CPU may be accessing the ops. Add the missing synchronization to fix this problem. [1] BUG: KASAN: use-after-free in __ftrace_ops_list_func kernel/trace/ftrace.c:7020 [inline] BUG: KASAN: use-after-free in ftrace_ops_list_func+0x2b0/0x31c kernel/trace/ftrace.c:7049 Read of size 8 at addr ffff56551965bbc8 by task syz-executor.2/14468 CPU: 1 PID: 14468 Comm: syz-executor.2 Not tainted 5.10.0 #7 Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0x0/0x40c arch/arm64/kernel/stacktrace.c:132 show_stack+0x30/0x40 arch/arm64/kernel/stacktrace.c:196 __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1b4/0x248 lib/dump_stack.c:118 print_address_description.constprop.0+0x28/0x48c mm/kasan/report.c:387 __kasan_report mm/kasan/report.c:547 [inline] kasan_report+0x118/0x210 mm/kasan/report.c:564 check_memory_region_inline mm/kasan/generic.c:187 [inline] __asan_load8+0x98/0xc0 mm/kasan/generic.c:253 __ftrace_ops_list_func kernel/trace/ftrace.c:7020 [inline] ftrace_ops_list_func+0x2b0/0x31c kernel/trace/ftrace.c:7049 ftrace_graph_call+0x0/0x4 __might_sleep+0x8/0x100 include/linux/perf_event.h:1170 __might_fault mm/memory.c:5183 [inline] __might_fault+0x58/0x70 mm/memory.c:5171 do_strncpy_from_user lib/strncpy_from_user.c:41 [inline] strncpy_from_user+0x1f4/0x4b0 lib/strncpy_from_user.c:139 getname_flags+0xb0/0x31c fs/namei.c:149 getname+0x2c/0x40 fs/namei.c:209 [...] Allocated by task 14445: kasan_save_stack+0x24/0x50 mm/kasan/common.c:48 kasan_set_track mm/kasan/common.c:56 [inline] __kasan_kmalloc mm/kasan/common.c:479 [inline] __kasan_kmalloc.constprop.0+0x110/0x13c mm/kasan/common.c:449 kasan_kmalloc+0xc/0x14 mm/kasan/common.c:493 kmem_cache_alloc_trace+0x440/0x924 mm/slub.c:2950 kmalloc include/linux/slab.h:563 [inline] kzalloc include/linux/slab.h:675 [inline] perf_event_alloc.part.0+0xb4/0x1350 kernel/events/core.c:11230 perf_event_alloc kernel/events/core.c:11733 [inline] __do_sys_perf_event_open kernel/events/core.c:11831 [inline] __se_sys_perf_event_open+0x550/0x15f4 kernel/events/core.c:11723 __arm64_sys_perf_event_open+0x6c/0x80 kernel/events/core.c:11723 [...] Freed by task 14445: kasan_save_stack+0x24/0x50 mm/kasan/common.c:48 kasan_set_track+0x24/0x34 mm/kasan/common.c:56 kasan_set_free_info+0x20/0x40 mm/kasan/generic.c:358 __kasan_slab_free.part.0+0x11c/0x1b0 mm/kasan/common.c:437 __kasan_slab_free mm/kasan/common.c:445 [inline] kasan_slab_free+0x2c/0x40 mm/kasan/common.c:446 slab_free_hook mm/slub.c:1569 [inline] slab_free_freelist_hook mm/slub.c:1608 [inline] slab_free mm/slub.c:3179 [inline] kfree+0x12c/0xc10 mm/slub.c:4176 perf_event_alloc.part.0+0xa0c/0x1350 kernel/events/core.c:11434 perf_event_alloc kernel/events/core.c:11733 [inline] __do_sys_perf_event_open kernel/events/core.c:11831 [inline] __se_sys_perf_event_open+0x550/0x15f4 kernel/events/core.c:11723 [...]
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存在安全漏洞,该漏洞源于未正确处理动态ftrace_ops释放,可能导致释放后重用。
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 edb096e00724f02db5f6ec7900f3bbd465c6c76f ~ ea5f2fd4640ecbb9df969bf8bb27733ae2183169 -
LinuxLinux 4.14 -

II. Public POCs for CVE-2022-49892

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-49892

登录查看更多情报信息。

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

Same Patch Batch · Linux · 2025-05-01 · 245 CVEs total

CVE-2025-377509.8 CRITICALsmb: client: fix UAF in decryption with multichannel
CVE-2025-377789.8 CRITICALksmbd: Fix dangling pointer in krb_authenticate
CVE-2022-497709.8 CRITICALceph: avoid putting the realm twice when decoding snaps fails
CVE-2022-499318.8 HIGHIB/hfi1: Correctly move list in sc_disable()
CVE-2025-377768.8 HIGHksmbd: fix use-after-free in smb_break_all_levII_oplock()
CVE-2025-377778.8 HIGHksmbd: fix use-after-free in __smb2_lease_break_noti()
CVE-2025-377908.8 HIGHnet: mctp: Set SOCK_RCU_FREE
CVE-2022-499108.8 HIGHBluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu
CVE-2022-498868.4 HIGHx86/tdx: Panic on bad configs that #VE on "private" memory access
CVE-2025-231598.4 HIGHmedia: venus: hfi: add a check to handle OOB in sfr region
CVE-2025-377498.2 HIGHnet: ppp: Add bound checking for skb data on ppp_sync_txmung
CVE-2025-377657.8 HIGHdrm/nouveau: prime: fix ttm_bo_delayed_delete oops
CVE-2025-377797.8 HIGHlib/iov_iter: fix to increase non slab folio refcount
CVE-2022-499207.8 HIGHnetfilter: nf_tables: netlink notifier might race to release objects
CVE-2022-499197.8 HIGHnetfilter: nf_tables: release flow rule object from commit path
CVE-2022-499217.8 HIGHnet: sched: Fix use after free in red_enqueue()
CVE-2025-377527.8 HIGHnet_sched: sch_sfq: move the limit validation
CVE-2025-377567.8 HIGHnet: tls: explicitly disallow disconnect
CVE-2025-377617.8 HIGHdrm/xe: Fix an out-of-bounds shift when invalidating TLB
CVE-2025-231417.8 HIGHKVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses

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

IV. Related Vulnerabilities

V. Comments for CVE-2022-49892

No comments yet


Leave a comment