🛡️ CVE-2022-50579 — kernel

⚪ Unknown ✅ No Known Exploit NVD
N/A
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

arm64: ftrace: fix module PLTs with mcount

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.

Affected software

CVE-2022-50579 is recorded against 2 packages.

  • kernel (from 5.19.0 up to 6.0.3)
  • unknown

Timeline and source

Published on 22 October 2025 and last revised on 12 August 2026. No public exploit is currently recorded for this entry. Record sourced from NVD.

References

git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
github.com (Advisory)
nvd.nist.gov (Advisory)
git.kernel.org (Package)

CVE-2022-50579 on other distributions

Each distribution ships its own build and its own fixed version. Pick the one you run:

Details

Severity Unknown
CVSS Score N/A
CVSS Vector N/A
CWE N/A
Public Exploit ✅ No
Source NVD
Published 2025-10-22
Updated 2026-08-20
Modified 2026-08-12
Fix URL N/A

Affected Packages

Software From version Fixed in
kernel 5.19.0 6.0.3
unknown

Similar Threats

Free Vulnerability Check

Is your site affected by CVE-2022-50579?

BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against CVE-2022-50579 and other known CVE records.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2022