CVE-2022-49802
Description
In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix null pointer dereference in ftrace_add_mod() The @ftrace_mod is allocated by kzalloc(), so both the members {prev,next} of @ftrace_mode->list are NULL, it's not a valid state to call list_del(). If kstrdup() for @ftrace_mod->{func|module} fails, it goes to @out_free tag and calls free_ftrace_mod() to destroy @ftrace_mod, then list_del() will write prev->next and next->prev, where null pointer dereference happens. BUG: kernel NULL pointer dereference, address: 0000000000000008 Oops: 0002 [#1] PREEMPT SMP NOPTI Call Trace: <TASK> ftrace_mod_callback+0x20d/0x220 ? do_filp_open+0xd9/0x140 ftrace_process_regex.isra.51+0xbf/0x130 ftrace_regex_write.isra.52.part.53+0x6e/0x90 vfs_write+0xee/0x3a0 ? __audit_filter_op+0xb1/0x100 ? auditd_test_task+0x38/0x50 ksys_write+0xa5/0xe0 do_syscall_64+0x3a/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd Kernel panic - not syncing: Fatal exception So call INIT_LIST_HEAD() to initialize the list member to fix this issue.
CVSS Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Threat Intelligence
Weaknesses 1
Affected Products 11
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥4.13 – <4.14.300 |
| linux | linux_kernel | * | ≥4.15 – <4.19.267 |
| linux | linux_kernel | * | ≥4.20 – <5.4.225 |
| linux | linux_kernel | * | ≥5.5 – <5.10.156 |
| linux | linux_kernel | * | ≥5.11 – <5.15.80 |
| linux | linux_kernel | * | ≥5.16 – <6.0.10 |
| linux | linux_kernel | 6.1 | any |
| linux | linux_kernel | 6.1 | any |
| linux | linux_kernel | 6.1 | any |
| linux | linux_kernel | 6.1 | any |
| linux | linux_kernel | 6.1 | any |
References 7
- git.kernel.org https://git.kernel.org/stable/c/19ba6c8af9382c4c05dc6a0a79af3013b9a35cd0
- git.kernel.org https://git.kernel.org/stable/c/1bea037a1abb23a6729bef36a2265a4565f5ea77
- git.kernel.org https://git.kernel.org/stable/c/665b4c6648bf2b91f69b33817f4321cf4c3cafe9
- git.kernel.org https://git.kernel.org/stable/c/6a14828caddad0d989495a72af678adf60992704
- git.kernel.org https://git.kernel.org/stable/c/6e50eb4b1807017f6c2d5089064256ce2de8aef1
- git.kernel.org https://git.kernel.org/stable/c/b5bfc61f541d3f092b13dedcfe000d86eb8e133c
- git.kernel.org https://git.kernel.org/stable/c/f715f31559b82e3f75ce047fa476de63d8107584
Remediation
- git.kernel.org https://git.kernel.org/stable/c/19ba6c8af9382c4c05dc6a0a79af3013b9a35cd0
- git.kernel.org https://git.kernel.org/stable/c/1bea037a1abb23a6729bef36a2265a4565f5ea77
- git.kernel.org https://git.kernel.org/stable/c/665b4c6648bf2b91f69b33817f4321cf4c3cafe9
- git.kernel.org https://git.kernel.org/stable/c/6a14828caddad0d989495a72af678adf60992704
- git.kernel.org https://git.kernel.org/stable/c/6e50eb4b1807017f6c2d5089064256ce2de8aef1
- git.kernel.org https://git.kernel.org/stable/c/b5bfc61f541d3f092b13dedcfe000d86eb8e133c
- git.kernel.org https://git.kernel.org/stable/c/f715f31559b82e3f75ce047fa476de63d8107584