Description
In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix invalid address access in lookup_rec() when index is 0 KASAN reported follow problem: BUG: KASAN: use-after-free in lookup_rec Read of size 8 at addr ffff000199270ff0 by task modprobe CPU: 2 Comm: modprobe Call trace: kasan_report __asan_load8 lookup_rec ftrace_location arch_check_ftrace_location check_kprobe_address_safe register_kprobe When checking pg->records[pg->index - 1].ip in lookup_rec(), it can get a pg which is newly added to ftrace_pages_start in ftrace_process_locs(). Before the first pg->index++, index is 0 and accessing pg->records[-1].ip will cause this problem. Don't check the ip when pg->index is 0.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
9644302e3315e7e36495d230d5ac7125a316d33e to < 2de28e5ce34b22b73b833a21e2c45ae3aade3964affected9644302e3315e7e36495d230d5ac7125a316d33e to < 7569ee04b0e3b32df79f64db3a7138573edad9bcaffected9644302e3315e7e36495d230d5ac7125a316d33e to < ac58b88ccbbb8e9fb83e137cee04a856b1ea6635affected9644302e3315e7e36495d230d5ac7125a316d33e to < 83c3b2f4e7c61367c7b24551f4c6eb94bbdda283affected9644302e3315e7e36495d230d5ac7125a316d33e to < 2a0d71fabfeb349216d33f001a6421b1768bd3a9affected9644302e3315e7e36495d230d5ac7125a316d33e to < 4f84f31f63416b0f02fc146ffdc4ab32723eb7e8affected9644302e3315e7e36495d230d5ac7125a316d33e to < f1bd8b7fd890d87d0dc4dedc6287ea34dd07c0b4affected9644302e3315e7e36495d230d5ac7125a316d33e to < ee92fa443358f4fc0017c1d0d325c27b37802504affected
Linux Linux
Default version status: affected
3.5affected0 to < 3.5unaffected4.14.311 to ≤ 4.14.*unaffected4.19.279 to ≤ 4.19.*unaffected5.4.238 to ≤ 5.4.*unaffected5.10.176 to ≤ 5.10.*unaffected5.15.104 to ≤ 5.15.*unaffected6.1.21 to ≤ 6.1.*unaffected6.2.8 to ≤ 6.2.*unaffected6.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/2de28e5ce34b22b73b833a21e2c45ae3aade3964 ↗
- https://git.kernel.org/stable/c/7569ee04b0e3b32df79f64db3a7138573edad9bc ↗
- https://git.kernel.org/stable/c/ac58b88ccbbb8e9fb83e137cee04a856b1ea6635 ↗
- https://git.kernel.org/stable/c/83c3b2f4e7c61367c7b24551f4c6eb94bbdda283 ↗
- https://git.kernel.org/stable/c/2a0d71fabfeb349216d33f001a6421b1768bd3a9 ↗
- https://git.kernel.org/stable/c/4f84f31f63416b0f02fc146ffdc4ab32723eb7e8 ↗
- https://git.kernel.org/stable/c/f1bd8b7fd890d87d0dc4dedc6287ea34dd07c0b4 ↗
- https://git.kernel.org/stable/c/ee92fa443358f4fc0017c1d0d325c27b37802504 ↗