{"schema_version":"1.9.0","id":"CVE-2022-49977","published":"2025-06-18T11:00:39.871Z","modified":"2026-08-12T03:51:08.571815690Z","related":["ALSA-2025:11850","ALSA-2025:11851","SUSE-SU-2025:02264-1","SUSE-SU-2025:02308-1","SUSE-SU-2025:02320-1","SUSE-SU-2025:02321-1","SUSE-SU-2025:02322-1","SUSE-SU-2025:02334-1","SUSE-SU-2025:02537-1"],"summary":"ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead\n\nftrace_startup does not remove ops from ftrace_ops_list when\nftrace_startup_enable fails:\n\nregister_ftrace_function\n  ftrace_startup\n    __register_ftrace_function\n      ...\n      add_ftrace_ops(&ftrace_ops_list, ops)\n      ...\n    ...\n    ftrace_startup_enable // if ftrace failed to modify, ftrace_disabled is set to 1\n    ...\n  return 0 // ops is in the ftrace_ops_list.\n\nWhen ftrace_disabled = 1, unregister_ftrace_function simply returns without doing anything:\nunregister_ftrace_function\n  ftrace_shutdown\n    if (unlikely(ftrace_disabled))\n            return -ENODEV;  // return here, __unregister_ftrace_function is not executed,\n                             // as a result, ops is still in the ftrace_ops_list\n    __unregister_ftrace_function\n    ...\n\nIf ops is dynamically allocated, it will be free later, in this case,\nis_ftrace_trampoline accesses NULL pointer:\n\nis_ftrace_trampoline\n  ftrace_ops_trampoline\n    do_for_each_ftrace_op(op, ftrace_ops_list) // OOPS! op may be NULL!\n\nSyzkaller reports as follows:\n[ 1203.506103] BUG: kernel NULL pointer dereference, address: 000000000000010b\n[ 1203.508039] #PF: supervisor read access in kernel mode\n[ 1203.508798] #PF: error_code(0x0000) - not-present page\n[ 1203.509558] PGD 800000011660b067 P4D 800000011660b067 PUD 130fb8067 PMD 0\n[ 1203.510560] Oops: 0000 [#1] SMP KASAN PTI\n[ 1203.511189] CPU: 6 PID: 29532 Comm: syz-executor.2 Tainted: G    B   W         5.10.0 #8\n[ 1203.512324] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014\n[ 1203.513895] RIP: 0010:is_ftrace_trampoline+0x26/0xb0\n[ 1203.514644] Code: ff eb d3 90 41 55 41 54 49 89 fc 55 53 e8 f2 00 fd ff 48 8b 1d 3b 35 5d 03 e8 e6 00 fd ff 48 8d bb 90 00 00 00 e8 2a 81 26 00 <48> 8b ab 90 00 00 00 48 85 ed 74 1d e8 c9 00 fd ff 48 8d bb 98 00\n[ 1203.518838] RSP: 0018:ffffc900012cf960 EFLAGS: 00010246\n[ 1203.520092] RAX: 0000000000000000 RBX: 000000000000007b RCX: ffffffff8a331866\n[ 1203.521469] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 000000000000010b\n[ 1203.522583] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8df18b07\n[ 1203.523550] R10: fffffbfff1be3160 R11: 0000000000000001 R12: 0000000000478399\n[ 1203.524596] R13: 0000000000000000 R14: ffff888145088000 R15: 0000000000000008\n[ 1203.525634] FS:  00007f429f5f4700(0000) GS:ffff8881daf00000(0000) knlGS:0000000000000000\n[ 1203.526801] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[ 1203.527626] CR2: 000000000000010b CR3: 0000000170e1e001 CR4: 00000000003706e0\n[ 1203.528611] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[ 1203.529605] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\n\nTherefore, when ftrace_startup_enable fails, we need to rollback registration\nprocess and remove ops from ftrace_ops_list.","affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"8a56d7761d2d041ae5e8215d20b4167d8aa93f51"},{"fixed":"8569b4ada1e0b9bfaa125bd0c0967918b6560fa2"},{"fixed":"4c34a2a6c9927c239dd2e295a03d49b37b618d2c"},{"fixed":"ddffe882d74ef43a3494f0ab0c24baf076c45f96"},{"fixed":"934e49f7d696afdae9f979abe3f308408184e17b"},{"fixed":"dbd8c8fc60480e3faa3ae7e27ebe03371ecd1b77"},{"fixed":"e4ae97295984ff1b9b340ed18ae1b066f36b7835"},{"fixed":"d81bd6671f45fde4c3ac7fd7733c6e3082ae9d8e"},{"fixed":"c3b0f72e805f0801f05fa2aa52011c4bfc694c44"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"0"},{"last_affected":"969a08e9048ddd0d655a19e692673cdb95116ce6"},{"last_affected":"51d351d5b949ae7204696ada7ef502ed34d34fb0"},{"last_affected":"2940c25bec92f40a3f7f32504b8ea115d1701892"},{"last_affected":"189f4e672fc1c086f78818affc810ef29dda42a3"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3.2.54"},{"fixed":"3.3"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3.4.72"},{"fixed":"3.5"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3.10.22"},{"fixed":"3.11"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3.12.3"},{"fixed":"3.13"}]}],"versions":["v3.12","v3.2.53","v3.12.2","v3.10.21","v3.4.71","v3.12.1","v3.10.20","v3.4.70","v3.2.52","v3.10.19","v3.4.69","v3.12-rc7","v3.12-rc3","v3.12-rc6","v3.10.18","v3.4.68","v3.12-rc1","v3.12-rc5","v3.11","v3.10.17","v3.4.67","v3.12-rc2","v3.12-rc4","v3.2.51","v3.4.66","v3.10.16","v3.10.15","v3.4.65","v3.10.14","v3.4.64","v3.10.13","v3.4.63","v3.10.12","v3.4.62","v3.10.11","v3.4.61","v3.2.50","v3.11-rc7","v3.10.10","v3.4.60","v3.11-rc2","v3.11-rc5","v3.11-rc1","v3.11-rc3","v3.11-rc4","v3.4.59","v3.10.9","v3.11-rc6","v3.10.8","v3.10.7","v3.4.58","v3.10.6","v3.4.57","v3.10.5","v3.4.56","v3.10-rc2","v3.10.4","v3.4.55","v3.2.49","v3.10.3","v3.4.54","v3.2.48","v3.10.2","v3.10","v3.10.1","v3.4.53","v3.4.52","v3.4.51","v3.10-rc7","v3.2.47","v3.10-rc6","v3.10-rc1","v3.4.50","v3.10-rc5","v3.10-rc3","v3.4.49","v3.2.46","v3.10-rc4","v3.4.48","v3.4.47","v3.2.45","v3.9","v3.4.46","v3.4.45","v3.2.44","v3.4.44","v3.4.43","v3.9-rc2","v3.9-rc7","v3.4.42","v3.9-rc8","v3.4.41","v3.2.43","v3.9-rc3","v3.9-rc6","v3.9-rc5","v3.4.40","v3.4.39","v3.9-rc4","v3.9-rc1","v3.2.42","v3.8","v3.4.38","v3.4.37","v3.2.41","v3.4.36","v3.2.40","v3.4.35","v3.2.39","v3.4.34","v3.4.33","v3.8-rc7","v3.4.32","v3.8-rc6","v3.2.38","v3.8-rc5","v3.4.31","v3.4.30","v3.8-rc2","v3.4.29","v3.2.37","v3.4.28","v3.8-rc1","v3.8-rc3","v3.8-rc4","v3.4.27","v3.4.26","v3.4.25","v3.2.36","v3.7","v3.4.24","v3.2.35","v3.4.23","v3.7-rc1","v3.6","v3.7-rc6","v3.7-rc7","v3.4.22","v3.7-rc3","v3.7-rc8","v3.2.34","v3.4.21","v3.4.20","v3.7-rc2","v3.4.19","v3.7-rc4","v3.7-rc5","v3.4.18","v3.2.33","v3.4.17","v3.4.16","v3.2.32","v3.4.15","v3.4.14","v3.2.31","v3.4.13","v3.2.30","v3.6-rc7","v3.4.12","v3.6-rc1","v3.5-rc3","v3.4.11","v3.6-rc6","v3.6-rc5","v3.5","v3.6-rc3","v3.6-rc4","v3.2.29","v3.6-rc2","v3.4.10","v3.2.28","v3.4-rc4","v3.4.9","v3.2.27","v3.4.8","v3.2.26","v3.4.7","v3.2.25","v3.2.24","v3.4.6","v3.5-rc7","v3.2.23","v3.5-rc5","v3.5-rc6","v3.4.5","v3.4.4","v3.5-rc2","v3.2.22","v3.5-rc1","v3.5-rc4","v3.2.21","v3.4","v3.4.3","v3.2.20","v3.4.2","v3.2.19","v3.4.1","v3.2.18","v3.4-rc2","v3.4-rc1","v3.2.17","v3.4-rc7","v3.4-rc6","v3.4-rc3","v3.4-rc5","v3.2.16","v3.2.15","v3.3","v3.2.14","v3.2.13","v3.3-rc6","v3.3-rc3","v3.2.12","v3.3-rc7","v3.2.11","v3.3-rc2","v3.3-rc5","v3.2","v3.2.10","v3.3-rc4","v3.2.9","v3.3-rc1","v3.2.8","v3.2.7","v3.2.6","v3.2.5","v3.2.4","v3.2.3","v3.2.2","v3.2.1","v3.2-rc4","v3.2-rc7","v3.2-rc6","v3.2-rc5","v3.2-rc3","v3.1","v3.2-rc2","v3.2-rc1","v3.1-rc1","v3.1-rc9","v3.1-rc8","v3.1-rc10","v3.1-rc7","v3.1-rc3","v3.1-rc2","v3.1-rc4","v3.1-rc5","v3.0","v3.1-rc6","v3.0-rc7","v3.0-rc4","v3.0-rc6","v3.0-rc5","v3.0-rc3","v3.0-rc1","v2.6.39","v3.0-rc2","v2.6.38","v2.6.39-rc2","v2.6.39-rc7","v2.6.39-rc5","v2.6.39-rc1","v2.6.38-rc7","v2.6.39-rc6","v2.6.39-rc4","v2.6.39-rc3","v2.6.37","v2.6.38-rc1","v2.6.38-rc8","v2.6.38-rc2","v2.6.38-rc6","v2.6.38-rc5","v2.6.38-rc4","v2.6.38-rc3","v2.6.37-rc4","v2.6.37-rc2","v2.6.36","v2.6.37-rc5","v2.6.37-rc8","v2.6.37-rc7","v2.6.37-rc6","v2.6.37-rc1","v2.6.37-rc3","v2.6.36-rc6","v2.6.35-rc4","v2.6.36-rc8","v2.6.35","v2.6.36-rc7","v2.6.36-rc3","v2.6.36-rc5","v2.6.36-rc4","v2.6.36-rc2","v2.6.36-rc1","v2.6.35-rc5","v2.6.35-rc6","v2.6.34","v2.6.35-rc3","v2.6.35-rc1","v2.6.35-rc2","v2.6.34-rc7","v2.6.34-rc6","v2.6.34-rc5","v2.6.34-rc4","v2.6.34-rc3","v2.6.34-rc2","v2.6.34-rc1","v2.6.33","v2.6.33-rc6","v2.6.33-rc8","v2.6.33-rc4","v2.6.33-rc5","v2.6.33-rc3","v2.6.33-rc7","v2.6.33-rc2","v2.6.32","v2.6.33-rc1","v2.6.32-rc8","v2.6.32-rc7","v2.6.32-rc6","v2.6.31","v2.6.32-rc5","v2.6.32-rc4","v2.6.32-rc2","v2.6.32-rc1","v2.6.32-rc3","v2.6.31-rc9","v2.6.31-rc1","v2.6.31-rc7","v2.6.31-rc8","v2.6.31-rc6","v2.6.30-rc6","v2.6.30","v2.6.31-rc4","v2.6.31-rc5","v2.6.31-rc3","v2.6.31-rc2","v2.6.30-rc7","v2.6.30-rc8","v2.6.30-rc5","v2.6.30-rc3","v2.6.30-rc4","v2.6.30-rc1","v2.6.30-rc2","v2.6.29","v2.6.29-rc8","v2.6.29-rc7","v2.6.29-rc5","v2.6.29-rc1","v2.6.29-rc6","v2.6.29-rc4","v2.6.29-rc3","v2.6.29-rc2","v2.6.28","v2.6.28-rc7","v2.6.28-rc9","v2.6.28-rc8","v2.6.28-rc6","v2.6.28-rc5","v2.6.28-rc4","v2.6.28-rc2","v2.6.28-rc3","v2.6.28-rc1","v2.6.27","v2.6.27-rc7","v2.6.27-rc9","v2.6.27-rc8","v2.6.27-rc5","v2.6.27-rc6","v2.6.27-rc4","v2.6.27-rc1","v2.6.27-rc3","v2.6.27-rc2","v2.6.26","v2.6.26-rc9","v2.6.26-rc8","v2.6.26-rc3","v2.6.26-rc7","v2.6.26-rc6","v2.6.26-rc5","v2.6.26-rc4","v2.6.26-rc2","v2.6.26-rc1","v2.6.25","v2.6.25-rc7","v2.6.25-rc9","v2.6.25-rc8","v2.6.25-rc6","v2.6.25-rc5","v2.6.25-rc3","v2.6.25-rc4","v2.6.24","v2.6.25-rc2","v2.6.25-rc1","v2.6.24-rc8","v2.6.24-rc7","v2.6.24-rc6","v2.6.24-rc5","v2.6.24-rc4","v2.6.24-rc3","v2.6.24-rc2","v2.6.24-rc1","v2.6.23","v2.6.23-rc9","v2.6.23-rc8","v2.6.23-rc5","v2.6.23-rc7","v2.6.23-rc6","v2.6.23-rc4","v2.6.23-rc3","v2.6.23-rc2","v2.6.23-rc1","v2.6.22","v2.6.22-rc7","v2.6.22-rc6","v2.6.22-rc5","v2.6.22-rc4","v2.6.22-rc3","v2.6.22-rc2","v2.6.22-rc1","v2.6.21","v2.6.21-rc7","v2.6.21-rc6","v2.6.21-rc5","v2.6.21-rc4","v2.6.21-rc3","v2.6.21-rc2","v2.6.21-rc1","v2.6.20-rc7","v2.6.20-rc6","v2.6.20-rc5","v2.6.20-rc4","v2.6.20-rc3","v2.6.20-rc1","v2.6.20-rc2","v2.6.19-rc2","v2.6.18","v2.6.19-rc1","v2.6.18-rc6","v2.6.18-rc5","v2.6.18-rc3","v2.6.18-rc2","v2.6.18-rc1","v2.6.17","v2.6.17-rc4","v2.6.17-rc6","v2.6.17-rc5","v2.6.17-rc3","v2.6.17-rc2","v2.6.17-rc1","v2.6.16","v2.6.16-rc6","v2.6.16-rc4","v2.6.16-rc5","v2.6.16-rc3","v2.6.16-rc2","v2.6.16-rc1","v2.6.15-rc7","v2.6.15-rc5","v2.6.15-rc4","v2.6.15-rc2","v2.6.15-rc1","v2.6.14-rc3","v2.6.14-rc2","v2.6.14-rc1","v2.6.13","v2.6.13-rc7","v2.6.13-rc6","v2.6.13-rc5","v2.6.13-rc3","v2.6.13-rc4","v2.6.13-rc2","v2.6.13-rc1","v2.6.12-rc4","v2.6.12-rc3","v2.6.12-rc2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49977.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.13.0"},{"fixed":"4.9.327"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.10.0"},{"fixed":"4.14.292"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.15.0"},{"fixed":"4.19.257"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.20.0"},{"fixed":"5.4.212"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.5.0"},{"fixed":"5.10.141"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.65"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"5.19.7"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49977.json"}}],"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/4c34a2a6c9927c239dd2e295a03d49b37b618d2c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8569b4ada1e0b9bfaa125bd0c0967918b6560fa2"},{"type":"WEB","url":"https://git.kernel.org/stable/c/934e49f7d696afdae9f979abe3f308408184e17b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c3b0f72e805f0801f05fa2aa52011c4bfc694c44"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d81bd6671f45fde4c3ac7fd7733c6e3082ae9d8e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/dbd8c8fc60480e3faa3ae7e27ebe03371ecd1b77"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ddffe882d74ef43a3494f0ab0c24baf076c45f96"},{"type":"WEB","url":"https://git.kernel.org/stable/c/e4ae97295984ff1b9b340ed18ae1b066f36b7835"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49977.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-49977"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49977.json"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}