CVE-2022-49892 in Linux
摘要
由 VulDB • 2026-06-01
在 Linux 内核中,已修复以下漏洞:
ftrace:修复动态 ftrace_ops 中的 use-after-free 问题
KASAN 报告了 ftrace ops 中的 use-after-free 问题 [1]。通过 vmcore 发现,perf 连续注册了两个内容相同的动态 ops。在注销第二个 ops 后,发生了 use-after-free。
在 ftrace_shutdown() 中,当注销第二个 ops 时,由于存在另一个具有相同内容的已启用 ops,因此未设置 FTRACE_UPDATE_CALLS 命令。此外,两个 ops 均为动态的,且 ftrace 回调函数为 ftrace_ops_list_func,因此也不会设置 FTRACE_UPDATE_TRACE_FUNC 命令。最终,'command' 的值将为 0,ftrace_shutdown() 将跳过 rcu 同步。
然而,ftrace 可能被激活。当 ops 被释放时,另一个 CPU 可能正在访问该 ops。添加缺失的同步机制以修复此问题。
[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.0/14445
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.