In the Linux kernel, the following vulnerability has been resolved:
apparmor: fix use-after-free in rawdata dedup loop
aa_replace_profiles() walks ns->rawdata_list to dedup the incoming policy blob against entries already attached to existing profiles. Per the kernel-doc on struct aa_loaddata, list membership does not hold a reference: profiles hold pcount, and when the last pcount drops, do_ploaddata_rmfs() is queued on a workqueue that takes ns->lock and removes the entry. Between dropping the last pcount and the workqueue running, an entry remains on the list with pcount == 0.
aa_get_profile_loaddata() is an unconditional kref_get() on pcount, so when the dedup loop hits such an entry, refcount hardening reports
refcount_t: addition on 0; use-after-free.
inside aa_replace_profiles(), and the poisoned counter then trips "saturated" and "underflow" warnings on the subsequent uses of the same loaddata.
Before commit a0b7091c4de4 ("apparmor: fix race on rawdata dereference") the dedup path used a get_unless_zero-style helper on a single counter, so the existing "if (tmp)" guard was meaningful. The split-refcount refactor introduced aa_get_profile_loaddata(), which has plain kref_get() semantics, and the guard quietly became a no-op.
Introduce aa_get_profile_loaddata_not0(), matching the existing _not0 convention used by aa_get_profile_not0(), and use it for the rawdata_list dedup lookup so dying entries are skipped.
Reproduced on x86_64 with v7.1-rc5 in QEMU+KVM running Ubuntu 24.04 + stress-ng 0.17.06:
stress-ng --apparmor 1 --klog-check --timeout 60s
Without this patch the three refcount_t warnings fire within a few seconds. With it the same 60 s run is clean. Coverage is a smoke-test only; a longer soak with CONFIG_KASAN, CONFIG_KCSAN and CONFIG_PROVE_LOCKING would be welcome from anyone with the cycles.
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 |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 20, 2026 | Jul 20, 2026 |
| Ubuntu | — | Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-gcp-5.15Upgrade linux-image-realtime-64kUpgrade linux-image-5.15.0-1123-azureUpgrade linux-image-5.15.0-198-genericUpgrade linux-image-oem-26.04bUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-virtualUpgrade linux-image-awsUpgrade linux-image-oracleUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-azure-fips-5.15Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-raspi-7.0Upgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-azure-7.0Upgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-azure-cvmUpgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-gcp-7.0Upgrade linux-image-generic-64k-7.0Upgrade linux-image-nvidia-64kUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-lowlatency-5.15Upgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-aws-5.15Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-7.0.0-1013-oemUpgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-aws-64kUpgrade linux-image-generic-7.0Upgrade linux-image-oracle-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-gkeUpgrade linux-image-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-intel-iotgUpgrade linux-image-realtimeUpgrade linux-image-virtual-7.0Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-fipsUpgrade linux-image-oem-20.04dUpgrade linux-image-azure-lts-26.04Upgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-oem-20.04Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-intelUpgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-fips-5.15Upgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-generic-lpaeUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidiaUpgrade linux-image-gkeopUpgrade linux-image-aws-64k-5.15Upgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-5.15.0-1117-awsUpgrade linux-image-azureUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-realtime-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-raspiUpgrade linux-image-gke-64k-7.0Upgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-azure-fdeUpgrade linux-image-oracle-7.0Upgrade linux-image-gke-64kUpgrade linux-image-kvm-5.15Upgrade linux-image-kvmUpgrade linux-image-gke-5.15Upgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-azure-fipsUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-oem-20.04cUpgrade linux-image-gcp-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-aws-fips-5.15Upgrade linux-image-oem-26.04aUpgrade linux-image-generic-64kUpgrade linux-image-oem-7.0Upgrade linux-image-oem-20.04bUpgrade linux-image-generic-5.15Upgrade linux-image-gcp-fipsUpgrade linux-image-5.15.0-198-fipsUpgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-nvidia-7.0Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-aws-64k-7.0Upgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-genericUpgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-ibm-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-gke-7.0Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-nvidia-bosUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-lowlatencyUpgrade linux-image-ibm-5.15Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-oem-26.04Upgrade linux-image-realtime-7.0Upgrade linux-image-ibmUpgrade linux-image-oracle-5.15Upgrade linux-image-7.0.0-1012-awsUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-azure-fde-5.15Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-generic-64k-5.15Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-31-realtime | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 27, 2026 | Jul 19, 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