In the Linux kernel, the following vulnerability has been resolved:
net/sched: act_api: use RCU with deferred freeing for action lifecycle
When NEWTFILTER and DELFILTER are run concurrently it is possible to create a race with an associated action.
Let's illustrate with CPU0 running NEWTFILTER and CPU1 running DELFILTER:
0: mutex_lock() <-- holds the idr lock 0: rcu_read_lock() 0: p = idr_find(idr, index) <-- action p is valid (RCU protects IDR) 0: mutex_unlock() <-- releases the idr lock 1: refcount_dec_and_mutex_lock() <-- refcnt 1->0, mutex held 1: idr_remove(idr, index) <-- Action removed from IDR 1: mutex_unlock() <-- mutex released allowing us to delete the action 1: tcf_action_cleanup(p); kfree(p) <-- Kfrees p immediately, no deferral 0: refcount_inc_not_zero(&p->tcfa_refcnt) <-- ouch, UAF p points to freed memory
This patch fixes the race condition between NEWTFILTER and DELFILTER by adding struct rcu_head to tc_action used in the deferral and introducing a call_rcu() in the delete path to defer the final kfree().
Note: this is a revert of commit d7fb60b9cafb ("net_sched: get rid of tcfa_rcu") but also modernization/simplification to directly use kfree_rcu().
Let's illustrate the new restored code path:
0: rcu_read_lock() 1: refcount_dec_and_mutex_lock() <-- refcnt 1->0, mutex held 1: idr_remove(idr, index) 1: mutex_unlock() 1: call_rcu(&p->tcfa_rcu, tcf_action_rcu_free) <-- defer kfree after grace period 0: p = idr_find(idr, index) 0: refcount_inc_not_zero(&p->tcfa_refcnt) <-- fails, refcnt already 0 1: rcu_read_unlock() <-- release so freeing can run after grace period
After CPU1 calls idr_remove(), the object is no longer reachable through the IDR. CPU0's subsequent idr_find() will return NULL, and even if it still held a stale pointer, the immediate kfree() is now deferred until after the RCU grace period, so no UAF can occur.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-tools-libs-develUpgrade kernel-64kUpgrade kernel-toolsUpgrade kernel-develUpgrade kernel-debug-modulesUpgrade kernel-rt-64k-debug-develUpgrade kernel-zfcpdump-modulesUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-64k-modules-coreUpgrade kernel-64k-modules-extraUpgrade kernel-64k-debug-develUpgrade kernel-64k-debug-coreUpgrade kernel-64k-modulesUpgrade rvUpgrade kernel-rt-64k-coreUpgrade kernel-rt-64k-develUpgrade kernel-rt-64k-debug-coreUpgrade kernel-debug-modules-coreUpgrade kernelUpgrade kernel-rtUpgrade kernel-rt-debugUpgrade kernel-rt-develUpgrade kernel-zfcpdump-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debug-modules-coreUpgrade kernel-rt-64k-debugUpgrade kernel-cross-headersUpgrade kernel-rt-64kUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-rt-modules-coreUpgrade kernel-64k-debugUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-tools-libsUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-coreUpgrade kernel-uki-virtUpgrade kernel-zfcpdumpUpgrade kernel-64k-coreUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-zfcpdump-develUpgrade python3-perfUpgrade kernel-64k-devel-matchedUpgrade kernel-docUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-modulesUpgrade kernel-debug-develUpgrade kernel-debug-uki-virtUpgrade kernel-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-modules-coreUpgrade libperfUpgrade rtlaUpgrade kernel-modules-extraUpgrade kernel-abi-stablelistsUpgrade kernel-devel-matchedUpgrade kernel-headersUpgrade kernel-rt-debug-develUpgrade kernel-rt-64k-modules-extraUpgrade kernel-debug-modules-extraUpgrade kernel-64k-debug-modules-extraUpgrade perfUpgrade kernel-64k-develUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debugUpgrade kernel-rt-64k-modulesUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-modulesUpgrade kernel-64k-modules-core | Oct 11, 2026 | Aug 12, 2026 |
| Amazon Linux Ami 2 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-livepatch-5.10.259-258.1043Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade perfUpgrade kernel-livepatch-5.15.210-148.245Upgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade python-perfUpgrade kernel-debuginfoUpgrade kernelUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade python-perf-debuginfo | Jul 8, 2026 | Jul 8, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.18-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel6.12-develUpgrade perf6.18-debuginfoUpgrade kernel6.18-toolsUpgrade python3-perfUpgrade kernel-modules-extraUpgrade kernel6.18-modules-extra-commonUpgrade microvm-kernel6.18Upgrade kernel6.12-tools-develUpgrade kernel-livepatch-6.1.176-220.358Upgrade kernel6.12-debuginfoUpgrade kernel6.18Upgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-toolsUpgrade bpftoolUpgrade kernel-develUpgrade kernel-tools-develUpgrade perf6.18Upgrade python3-perf6.12Upgrade kernel-tools-debuginfoUpgrade kernel6.12Upgrade perfUpgrade perf6.12-debuginfoUpgrade kernelUpgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel6.12-modules-extraUpgrade bpftool-debuginfoUpgrade bpftool6.18Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-headersUpgrade kernel-toolsUpgrade kernel6.18-tools-debuginfoUpgrade kernel6.18-debuginfoUpgrade kernel-modules-extra-commonUpgrade perf-debuginfoUpgrade python3-perf6.18Upgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-tools-develUpgrade kernel-livepatch-6.18.36-69.134Upgrade kernel6.18-develUpgrade perf6.12Upgrade python3-perf6.18-debuginfoUpgrade bpftool6.18-debuginfoUpgrade bpftool6.12Upgrade kernel6.18-headersUpgrade kernel-livepatch-6.12.94-123.174Upgrade kernel6.12-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool6.12-debuginfoUpgrade python3-perf6.12-debuginfo | Jul 8, 2026 | Jun 25, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jul 17, 2026 | Jun 25, 2026 |
| Rocky_linux | — | Upgrade kernel-rtUpgrade kernel-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modules-extraUpgrade libperf-debuginfoUpgrade libperfUpgrade kernel-debug-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-coreUpgrade perfUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debuginfoUpgrade kernel-zfcpdump-coreUpgrade kernel-uki-virtUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-rt-debug-develUpgrade kernel-toolsUpgrade kernel-debug-uki-virtUpgrade python3-perfUpgrade kernel-uki-virt-addonsUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debuginfo-common-s390xUpgrade kernel-rt-debug-modulesUpgrade rvUpgrade kernel-modulesUpgrade kernel-devel-matchedUpgrade kernel-debuginfoUpgrade kernel-tools-libsUpgrade kernel-rt-develUpgrade kernel-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernelUpgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-debug-modules-extraUpgrade kernel-debug-develUpgrade rtlaUpgrade kernel-zfcpdump-develUpgrade kernel-tools-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-debug-modules-coreUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debugUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-coreUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-modules | Aug 17, 2026 | Aug 14, 2026 |
| Ubuntu | — | Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-generic-lpaeUpgrade linux-image-gkeop-5.15Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-aws-7.0Upgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-realtime-7.0Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-5.15.0-198-genericUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1117-awsUpgrade linux-image-realtimeUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-aws-64k-7.0Upgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-azure-cvmUpgrade linux-image-gcp-7.0Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-7.0.0-1013-oemUpgrade linux-image-fipsUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-aws-64kUpgrade linux-image-genericUpgrade linux-image-gcp-64kUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-virtual-7.0Upgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-lowlatency-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-gkeopUpgrade linux-image-aws-fips-5.15Upgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-oem-20.04Upgrade linux-image-7.0.0-1014-azureUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-5.15.0-1123-azureUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-7.0Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-azure-fde-5.15Upgrade linux-image-fips-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-oem-20.04cUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-raspi-7.0Upgrade linux-image-nvidiaUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-virtualUpgrade linux-image-generic-64k-7.0Upgrade linux-image-gkeUpgrade linux-image-azure-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-aws-5.15Upgrade linux-image-aws-fipsUpgrade linux-image-azure-fips-5.15Upgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-realtime-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-oem-26.04aUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-azure-fipsUpgrade linux-image-nvidia-64kUpgrade linux-image-gke-64kUpgrade linux-image-azureUpgrade linux-image-awsUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-realtime-5.15Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-generic-64k-5.15Upgrade linux-image-aws-64k-5.15Upgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-azure-7.0Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oracle-5.15Upgrade linux-image-azure-fdeUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-5.15.0-198-fipsUpgrade linux-image-oracle-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-ibm-7.0Upgrade linux-image-gcpUpgrade linux-image-lowlatencyUpgrade linux-image-generic-5.15Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-azure-lts-26.04Upgrade linux-image-ibmUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-oem-26.04bUpgrade linux-image-gke-64k-7.0Upgrade linux-image-nvidia-7.0Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-oem-20.04bUpgrade linux-image-oem-26.04Upgrade linux-image-nvidia-bosUpgrade linux-image-oem-20.04dUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-gcp-5.15Upgrade linux-image-kvmUpgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-oem-7.0Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-oracle-64kUpgrade linux-image-7.0.0-1012-awsUpgrade linux-image-6.8.0-1035-nvidia-tegra | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 10, 2026 | Jun 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub