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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2022-50579— arm64: ftrace: fix module PLTs with mcount

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 kernel是开源操作系统Linux所使用的内核。FreeBSD ctl等都是(FreeBSD)基金会的产品。ctl是一个工具。LangGenius dify等都是(LangGenius)开源的产品。dify是一个开源的 LLM 应用程序开发平台。 Linux kernel存在安全漏洞,该漏洞源于ftrace_make_nop函数错误假设调用站点指向特殊ftrace trampoline PLT,可能导致模块PLT初始化失败。

AI Predicted 3.7 Difficulty: Moderate EPSS 0.21% · P11

Possible ATT&CK Techniques 1 AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux bc28fde90937a920f7714ec4408269cac744f796< 657de36c72f57fa172a66b06f826b3f5bc56f42e affected
db73aa9466338ec821ed2a0b01721fe4d06876b1< 6c93b683cedaef745884cb9d554d02ed6266b897 affected
a6253579977e4c6f7818eeb05bf2bc65678a7187< 0f77b6b2ba70d7c9d69ef39694e283ded9f8b5f2 affected
a6253579977e4c6f7818eeb05bf2bc65678a7187< 985432303cf7d4804fb2c2fdfbf0466a796d68c3 affected
a6253579977e4c6f7818eeb05bf2bc65678a7187< 8cfb08575c6d4585f1ce0deeb189e5c824776b04 affected
dcecc96ed16f73417de5550f384e348c9d56f279 affected
5.10.124< 5.10.150 affected
5.15.49< 5.15.75 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-50579

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
arm64: ftrace: fix module PLTs with mcount
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: arm64: ftrace: fix module PLTs with mcount Li Huafei reports that mcount-based ftrace with module PLTs was broken by commit: a6253579977e4c6f ("arm64: ftrace: consistently handle PLTs.") When a module PLTs are used and a module is loaded sufficiently far away from the kernel, we'll create PLTs for any branches which are out-of-range. These are separate from the special ftrace trampoline PLTs, which the module PLT code doesn't directly manipulate. When mcount is in use this is a problem, as each mcount callsite in a module will be initialized to point to a module PLT, but since commit a6253579977e4c6f ftrace_make_nop() will assume that the callsite has been initialized to point to the special ftrace trampoline PLT, and ftrace_find_callable_addr() rejects other cases. This means that when ftrace tries to initialize a callsite via ftrace_make_nop(), the call to ftrace_find_callable_addr() will find that the `_mcount` stub is out-of-range and is not handled by the ftrace PLT, resulting in a splat: | ftrace_test: loading out-of-tree module taints kernel. | ftrace: no module PLT for _mcount | ------------[ ftrace bug ]------------ | ftrace failed to modify | [<ffff800029180014>] 0xffff800029180014 | actual: 44:00:00:94 | Initializing ftrace call sites | ftrace record flags: 2000000 | (0) | expected tramp: ffff80000802eb3c | ------------[ cut here ]------------ | WARNING: CPU: 3 PID: 157 at kernel/trace/ftrace.c:2120 ftrace_bug+0x94/0x270 | Modules linked in: | CPU: 3 PID: 157 Comm: insmod Tainted: G O 6.0.0-rc6-00151-gcd722513a189-dirty #22 | Hardware name: linux,dummy-virt (DT) | pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) | pc : ftrace_bug+0x94/0x270 | lr : ftrace_bug+0x21c/0x270 | sp : ffff80000b2bbaf0 | x29: ffff80000b2bbaf0 x28: 0000000000000000 x27: ffff0000c4d38000 | x26: 0000000000000001 x25: ffff800009d7e000 x24: ffff0000c4d86e00 | x23: 0000000002000000 x22: ffff80000a62b000 x21: ffff8000098ebea8 | x20: ffff0000c4d38000 x19: ffff80000aa24158 x18: ffffffffffffffff | x17: 0000000000000000 x16: 0a0d2d2d2d2d2d2d x15: ffff800009aa9118 | x14: 0000000000000000 x13: 6333626532303830 x12: 3030303866666666 | x11: 203a706d61727420 x10: 6465746365707865 x9 : 3362653230383030 | x8 : c0000000ffffefff x7 : 0000000000017fe8 x6 : 000000000000bff4 | x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : 0000000000000001 | x2 : ad2cb14bb5438900 x1 : 0000000000000000 x0 : 0000000000000022 | Call trace: | ftrace_bug+0x94/0x270 | ftrace_process_locs+0x308/0x430 | ftrace_module_init+0x44/0x60 | load_module+0x15b4/0x1ce8 | __do_sys_init_module+0x1ec/0x238 | __arm64_sys_init_module+0x24/0x30 | invoke_syscall+0x54/0x118 | el0_svc_common.constprop.4+0x84/0x100 | do_el0_svc+0x3c/0xd0 | el0_svc+0x1c/0x50 | el0t_64_sync_handler+0x90/0xb8 | el0t_64_sync+0x15c/0x160 | ---[ end trace 0000000000000000 ]--- | ---------test_init----------- Fix this by reverting to the old behaviour of ignoring the old instruction when initialising an mcount callsite in a module, which was the behaviour prior to commit a6253579977e4c6f.
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 kernel是开源操作系统Linux所使用的内核。FreeBSD ctl等都是(FreeBSD)基金会的产品。ctl是一个工具。LangGenius dify等都是(LangGenius)开源的产品。dify是一个开源的 LLM 应用程序开发平台。 Linux kernel存在安全漏洞,该漏洞源于ftrace_make_nop函数错误假设调用站点指向特殊ftrace trampoline PLT,可能导致模块PLT初始化失败。
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 bc28fde90937a920f7714ec4408269cac744f796 ~ 657de36c72f57fa172a66b06f826b3f5bc56f42e -
Linux Linux 5.19 -

II. Public POCs for CVE-2022-50579

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

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

Patches & Fixes for CVE-2022-50579 (5)

Same Patch Batch · Linux · 2025-10-22 · 67 CVEs total

CVE-2023-53711 8.2 HIGH NFS: Fix a potential data corruption
CVE-2023-53705 8.2 HIGH ipv6: Fix out-of-bounds access in ipv6_find_tlv()
CVE-2023-53698 7.8 HIGH xsk: fix refcount underflow in error path
CVE-2023-53692 7.8 HIGH ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
CVE-2022-50569 7.8 HIGH xfrm: Update ipcomp_scratches with NULL when freed
CVE-2022-50570 7.8 HIGH platform/chrome: fix memory corruption in ioctl
CVE-2022-50567 7.8 HIGH fs: jfs: fix shift-out-of-bounds in dbAllocAG
CVE-2023-53718 7.8 HIGH ring-buffer: Do not swap cpu_buffer during resize process
CVE-2023-53695 7.8 HIGH udf: Detect system inodes linked into directory hierarchy
CVE-2023-53707 7.8 HIGH drm/amdgpu: Fix integer overflow in amdgpu_cs_pass1
CVE-2022-50581 7.8 HIGH hfs: fix OOB Read in __hfs_brec_find
CVE-2023-53729 7.8 HIGH soc: qcom: qmi_encdec: Restrict string length in decode
CVE-2023-53713 7.8 HIGH arm64: sme: Use STR P to clear FFR context field in streaming SVE mode
CVE-2023-53726 7.1 HIGH arm64: csum: Fix OoB access in IP checksum code for negative lengths
CVE-2023-53704 clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
CVE-2023-53706 mm/vmemmap/devdax: fix kernel crash when probing devdax devices
CVE-2023-53710 wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read
CVE-2023-53708 ACPI: x86: s2idle: Catch multiple ACPI_TYPE_PACKAGE objects
CVE-2023-53712 ARM: 9317/1: kexec: Make smp stop calls asynchronous
CVE-2023-53714 drm/stm: ltdc: fix late dereference check

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

IV. Related Vulnerabilities

V. Comments for CVE-2022-50579

No comments yet


Leave a comment