Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
ftrace: Also allocate and copy hash for reading of filter files
Currently the reader of set_ftrace_filter and set_ftrace_notrace just adds the pointer to the global tracer hash to its iterator. Unlike the writer that allocates a copy of the hash, the reader keeps the pointer to the filter hashes. This is problematic because this pointer is static across function calls that release the locks that can update the global tracer hashes. This can cause UAF and similar bugs.
Allocate and copy the hash for reading the filter files like it is done for the writers. This not only fixes UAF bugs, but also makes the code a bit simpler as it doesn’t have to differentiate when to free the iterator’s hash between writers and readers.
Details
- Affected product:
- AlmaLinux 9.2 ESU , Amazon Linux 2 ELS , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , Debian 10 ELS , Oracle Linux 7 ELS , TuxCare 9.6 ESU , Ubuntu 16.04 ELS , Ubuntu 18.04 ELS , Ubuntu 20.04 ELS
- Affected packages:
- kernel @ 5.14.0 (+11 more)
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| AlmaLinux 9.2 ESU | Planned | — |
| AlmaLinux 9.6 ESU | In Progress | — |
| Amazon Linux 2 | In Progress | — |
| Amazon Linux 2023 | Planned | — |
| Debian 11 | Released |
35 kernels
|
| Debian 11 cloud | Released |
15 kernels
|
| Debian 12 | Released |
30 kernels
|
| Debian 13 | Will Not Fix | — |
| Oracle Linux 7 UEK 6 | Released |
112 kernels
|
| Oracle Linux 8 UEK 6 | Released |
134 kernels
|
| Oracle Linux 8 UEK 7 | Planned | — |
| Oracle Linux 9 UEK 7 | Planned | — |
| Proxmox VE 7 5.15 | Released |
47 kernels
|
| Ubuntu 20.04 HWE AWS | Released |
57 kernels
|
| Ubuntu 20.04 HWE Azure | Released |
40 kernels
|
| Ubuntu 22.04 | Released |
85 kernels
|
| Ubuntu 22.04 AWS | Released |
76 kernels
|
| Ubuntu 22.04 Azure | Released |
70 kernels
|
| Ubuntu 24.04 | Released |
37 kernels
|