CVE-2022-49779: kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case

Published May 1, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

kprobes: Skip clearing aggrprobe's posthandler in kprobe-on-ftrace case

In unregisterkprobetop(), if the currently unregistered probe has posthandler but other child probes of the aggrprobe do not have posthandler, the posthandler of the aggrprobe is cleared. If this is a ftrace-based probe, there is a problem. In later calls to disarmkprobe(), we will use kprobeftraceops because posthandler is NULL. But we're armed with kprobeipmodifyops. This triggers a WARN in disarmkprobeftrace() and may even cause use-after-free:

Failed to disarm kprobe-ftrace at kernelclone+0x0/0x3c0 (error -2) WARNING: CPU: 5 PID: 137 at kernel/kprobes.c:1135 disarmkprobeftrace.isra.21+0xcf/0xe0 Modules linked in: testKprobe007(-) CPU: 5 PID: 137 Comm: rmmod Not tainted 6.1.0-rc4-dirty #18 [...] Call Trace: <TASK> disablekprobe+0xcd/0xe0 unregisterkprobetop+0x12/0x150 ? mutexlock+0xe/0x30 unregisterkprobes.part.23+0x31/0xa0 unregisterkprobe+0x32/0x40 x64sysdeletemodule+0x15e/0x260 ? douseraddrfault+0x2cd/0x6b0 dosyscall64+0x3a/0x90 entrySYSCALL64afterhwframe+0x63/0xcd [...]

For the kprobe-on-ftrace case, we keep the posthandler setting to identify this aggrprobe armed with kprobeipmodifyops. This way we can disarm it correctly.

Affected Software

149 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=5.4<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-rc1
Linux Linux kernel=6.1-rc2
Linux Linux kernel=6.1-rc3
Linux Linux kernel=6.1-rc4
Linux Linux kernel=6.1-rc5
debian/linux<6.0.10-1
6.0.10-1
debian/linux<6.0.10-1
6.0.10-1
debian/linux<6.0.10-1
6.0.10-1
linux/kernel>=5.4.0<5.4.225
5.4.225
linux/kernel>=5.5.0<5.10.156
5.10.156
linux/kernel>=5.11.0<5.15.80
5.15.80
linux/kernel>=5.16.0<6.0.10
6.0.10
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.15-1
ubuntu/linux-hwe-edge*
ubuntu/linux-aws-5.4<5.4.0-1097.105~18.04.1
5.4.0-1097.105~18.04.1
ubuntu/linux-azure-5.4<5.4.0-1104.110~18.04.1
5.4.0-1104.110~18.04.1
ubuntu/linux-gcp-5.4<5.4.0-1101.110~18.04.1
5.4.0-1101.110~18.04.1
ubuntu/linux-hwe-5.4<5.4.0-144.161~18.04.1
5.4.0-144.161~18.04.1
ubuntu/linux-ibm-5.4<5.4.0-1045.50~18.04.1
5.4.0-1045.50~18.04.1
ubuntu/linux-oracle-5.4<5.4.0-1094.103~18.04.1
5.4.0-1094.103~18.04.1
ubuntu/linux-raspi-5.4<5.4.0-1081.92~18.04.1
5.4.0-1081.92~18.04.1
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux<5.4.0-144.161
5.4.0-144.161
ubuntu/linux-aws<5.4.0-1097.105
5.4.0-1097.105
ubuntu/linux-aws-5.15<5.15.0-1031.35~20.04.1
5.15.0-1031.35~20.04.1
ubuntu/linux-azure<5.4.0-1104.110
5.4.0-1104.110
ubuntu/linux-azure-5.15<5.15.0-1034.41~20.04.1
5.15.0-1034.41~20.04.1
ubuntu/linux-bluefield<5.4.0-1059.65
5.4.0-1059.65
ubuntu/linux-gcp<5.4.0-1101.110
5.4.0-1101.110
ubuntu/linux-gcp-5.15<5.15.0-1030.37~20.04.1
5.15.0-1030.37~20.04.1
ubuntu/linux-hwe-5.15<5.15.0-67.74~20.04.1
5.15.0-67.74~20.04.1
ubuntu/linux-ibm<5.4.0-1045.50
5.4.0-1045.50
ubuntu/linux-intel-iotg-5.15<5.15.0-1026.31~20.04.1
5.15.0-1026.31~20.04.1
ubuntu/linux-iot<5.4.0-1013.15
5.4.0-1013.15
ubuntu/linux-kvm<5.4.0-1087.93
5.4.0-1087.93
ubuntu/linux-lowlatency-hwe-5.15<5.15.0-67.74~20.04.1
5.15.0-67.74~20.04.1
ubuntu/linux-nvidia-tegra-5.15<5.15.0-1014.14~20.04.1
5.15.0-1014.14~20.04.1
ubuntu/linux-oracle<5.4.0-1094.103
5.4.0-1094.103
ubuntu/linux-oracle-5.15<5.15.0-1030.36~20.04.1
5.15.0-1030.36~20.04.1
ubuntu/linux-raspi<5.4.0-1081.92
5.4.0-1081.92
ubuntu/linux-riscv-5.15<5.15.0-1030.34~20.04.1
5.15.0-1030.34~20.04.1
ubuntu/linux-xilinx-zynqmp<5.4.0-1022.26
5.4.0-1022.26
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-aws-fips<5.4.0-1099.107+fips1
5.4.0-1099.107+fips1
ubuntu/linux-azure-fips<5.4.0-1104.110+fips1
5.4.0-1104.110+fips1
ubuntu/linux-fips<5.4.0-1073.82
5.4.0-1073.82
ubuntu/linux-gcp-fips<5.4.0-1101.110+fips1
5.4.0-1101.110+fips1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux<5.15.0-67.74
5.15.0-67.74
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws<5.15.0-1031.35
5.15.0-1031.35
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-azure<5.15.0-1034.41
5.15.0-1034.41
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-fde<5.15.0-1034.41.1
5.15.0-1034.41.1
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-gcp<5.15.0-1030.37
5.15.0-1030.37
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gke<5.15.0-1028.33
5.15.0-1028.33
ubuntu/linux-gkeop<5.15.0-1016.21
5.15.0-1016.21
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-ibm<5.15.0-1026.29
5.15.0-1026.29
ubuntu/linux-intel-iotg<5.15.0-1026.31
5.15.0-1026.31
ubuntu/linux-kvm<5.15.0-1029.34
5.15.0-1029.34
ubuntu/linux-lowlatency<5.15.0-67.74
5.15.0-67.74
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-nvidia<5.15.0-1023.23
5.15.0-1023.23
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle<5.15.0-1030.36
5.15.0-1030.36
ubuntu/linux-oracle-6.5*
ubuntu/linux-raspi<5.15.0-1025.27
5.15.0-1025.27
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-bluefield<5.15.0-1014.16
5.15.0-1014.16
ubuntu/linux-intel-iot-realtime<5.15.0-1022.27
5.15.0-1022.27
ubuntu/linux-realtime<5.15.0-1033.36
5.15.0-1033.36
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-vmware*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ubuntu/linux-aws-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1097.105~18.04.1
  2. Upgrade

    Upgrade ubuntu/linux-azure-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1104.110~18.04.1
  3. Upgrade

    Upgrade ubuntu/linux-gcp-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1101.110~18.04.1
  4. Upgrade

    Upgrade ubuntu/linux-hwe-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-144.161~18.04.1
  5. Upgrade

    Upgrade ubuntu/linux-ibm-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1045.50~18.04.1
  6. Upgrade

    Upgrade ubuntu/linux-oracle-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1094.103~18.04.1
  7. Upgrade

    Upgrade ubuntu/linux-raspi-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1081.92~18.04.1
  8. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 5.4.0-144.161
  9. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 5.4.0-1097.105
  10. Upgrade

    Upgrade ubuntu/linux-aws-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1031.35~20.04.1
  11. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 5.4.0-1104.110
  12. Upgrade

    Upgrade ubuntu/linux-azure-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1034.41~20.04.1
  13. Upgrade

    Upgrade ubuntu/linux-bluefield to a version that resolves this vulnerability.

    Fixed in 5.4.0-1059.65
  14. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 5.4.0-1101.110
  15. Upgrade

    Upgrade ubuntu/linux-gcp-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1030.37~20.04.1
  16. Upgrade

    Upgrade ubuntu/linux-hwe-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-67.74~20.04.1
  17. Upgrade

    Upgrade ubuntu/linux-ibm to a version that resolves this vulnerability.

    Fixed in 5.4.0-1045.50
  18. Upgrade

    Upgrade ubuntu/linux-intel-iotg-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1026.31~20.04.1
  19. Upgrade

    Upgrade ubuntu/linux-iot to a version that resolves this vulnerability.

    Fixed in 5.4.0-1013.15
  20. Upgrade

    Upgrade ubuntu/linux-kvm to a version that resolves this vulnerability.

    Fixed in 5.4.0-1087.93
  21. Upgrade

    Upgrade ubuntu/linux-lowlatency-hwe-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-67.74~20.04.1
  22. Upgrade

    Upgrade ubuntu/linux-nvidia-tegra-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1014.14~20.04.1
  23. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 5.4.0-1094.103
  24. Upgrade

    Upgrade ubuntu/linux-oracle-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1030.36~20.04.1
  25. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 5.4.0-1081.92
  26. Upgrade

    Upgrade ubuntu/linux-riscv-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1030.34~20.04.1
  27. Upgrade

    Upgrade ubuntu/linux-xilinx-zynqmp to a version that resolves this vulnerability.

    Fixed in 5.4.0-1022.26
  28. Upgrade

    Upgrade ubuntu/linux-aws-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1099.107+fips1
  29. Upgrade

    Upgrade ubuntu/linux-azure-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1104.110+fips1
  30. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.82
  31. Upgrade

    Upgrade ubuntu/linux-gcp-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1101.110+fips1
  32. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 5.15.0-67.74
  33. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 5.15.0-1031.35
  34. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 5.15.0-1034.41
  35. Upgrade

    Upgrade ubuntu/linux-azure-fde to a version that resolves this vulnerability.

    Fixed in 5.15.0-1034.41.1
  36. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 5.15.0-1030.37
  37. Upgrade

    Upgrade ubuntu/linux-gke to a version that resolves this vulnerability.

    Fixed in 5.15.0-1028.33
  38. Upgrade

    Upgrade ubuntu/linux-gkeop to a version that resolves this vulnerability.

    Fixed in 5.15.0-1016.21
  39. Upgrade

    Upgrade ubuntu/linux-ibm to a version that resolves this vulnerability.

    Fixed in 5.15.0-1026.29
  40. Upgrade

    Upgrade ubuntu/linux-intel-iotg to a version that resolves this vulnerability.

    Fixed in 5.15.0-1026.31
  41. Upgrade

    Upgrade ubuntu/linux-kvm to a version that resolves this vulnerability.

    Fixed in 5.15.0-1029.34
  42. Upgrade

    Upgrade ubuntu/linux-lowlatency to a version that resolves this vulnerability.

    Fixed in 5.15.0-67.74
  43. Upgrade

    Upgrade ubuntu/linux-nvidia to a version that resolves this vulnerability.

    Fixed in 5.15.0-1023.23
  44. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 5.15.0-1030.36
  45. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 5.15.0-1025.27
  46. Upgrade

    Upgrade ubuntu/linux-bluefield to a version that resolves this vulnerability.

    Fixed in 5.15.0-1014.16
  47. Upgrade

    Upgrade ubuntu/linux-intel-iot-realtime to a version that resolves this vulnerability.

    Fixed in 5.15.0-1022.27
  48. Upgrade

    Upgrade ubuntu/linux-realtime to a version that resolves this vulnerability.

    Fixed in 5.15.0-1033.36
  49. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.0.10-1
  50. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 5.4.225
  51. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 5.10.156
  52. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 5.15.80
  53. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.0.10
  54. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.115-2Fixed in 7.2.15-1

Event History

May 1, 2025
CVE Published
via MITRE·02:09 PM
Data Sourced
via MITRE·02:09 PM
Description
Data Sourced
via OSV·02:09 PM
DescriptionAffected Software
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Nov 11, 2026
Data Sourced
via OSV·09:37 AM
Severity

Frequently Asked Questions

1

What level of access does an attacker need?

The attack vector is local and requires low privileges. No user interaction is required.

2

Which kprobe setup triggers the issue?

The issue involves a ftrace-based kprobe aggregate probe where an unregistered child probe has a post_handler while other child probes do not. Clearing the aggregate probe's post_handler in that situation causes later disarm operations to select the wrong ftrace operations.

3

What evidence may indicate the problem has occurred?

Kernel logs may show a WARN from __disarm_kprobe_ftrace(), including a message such as "Failed to disarm kprobe-ftrace." The failed disarm may also lead to a use-after-free condition.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203