In the Linux kernel, the following vulnerability has been resolved:
mm/page_reporting: use system_freezable_wq to fix UAF during suspend
During PM freeze (e.g. S3 suspend or S4 hibernation), device drivers like virtio_balloon reset their underlying virtio devices and delete their virtqueues via vdev->config->del_vqs().
However, page reporting work (page_reporting_process) was scheduled on the global system_wq. Because system_wq lacks the WQ_FREEZABLE flag, the PM freezer skips it, leaving page_reporting_process active during suspend.
If pages are freed into the buddy allocator while suspending (for example, when core MM invokes the balloon shrinker during S4 hibernation image saving), page reporting triggers virtballoon_free_page_report() on deleted virtqueues, resulting in a Use-After-Free / General Protection Fault:
[ 196.795226] general protection fault, probably for non-canonical address 0xaa1436fe70dae6df: 0000 [#1] SMP NOPTI [ 196.825967] Workqueue: events page_reporting_process [ 196.831038] RIP: 0010:virtqueue_add_split+0x233/0x4c0 [virtio_ring] [ 196.927073] virtballoon_free_page_report+0x3a/0xe0 [virtio_balloon] [ 196.946943] page_reporting_process+0x370/0x4f0
Fix this by switching page reporting work to system_freezable_wq. This ensures that the PM freezer pauses page_reporting_process before device drivers destroy their reporting virtqueues. Because the reporting worker is frozen, memory reclamation/freeing (e.g. via shrinker execution) can safely return pages to MM during freeze without triggering unfrozen reporting work on deleted virtqueues.
This aligns with the driver's existing design. The comment in virtballoon_freeze() states: /* * The workqueue is already frozen by the PM core before this * function is called. */
Testing: I have verified these fixes using Google’s virtualization infrastructure by running continuous suspend/resume iterations (40+ cycles) while churning memory using stress-ng (`stress-ng --vm 4 --vm-bytes 60% --timeout 1`) to constantly create free pages for the buddy allocator. We also set the `page_reporting_order` parameter to 0 to make the page reporting worker highly sensitive, forcing it to pick up any 4K free pages. This confirmed that the UAF crashes are no longer reproducible.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.18-tools-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.18-toolsUpgrade kernel6.12-debuginfoUpgrade python3-perf6.12Upgrade kernel6.18-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.18-debuginfo-common-aarch64Upgrade python3-perf6.18-debuginfoUpgrade kernel6.12-toolsUpgrade kernel6.12-tools-develUpgrade bpftool6.18-debuginfoUpgrade kernel6.18-debuginfoUpgrade kernel6.12Upgrade python3-perf6.18Upgrade bpftool6.12-debuginfoUpgrade bpftool6.18Upgrade perf6.18Upgrade perf6.18-debuginfoUpgrade kernel6.12-modules-extraUpgrade bpftool6.12Upgrade microvm-kernel6.18Upgrade perf6.12Upgrade kernel-livepatch-6.18.44-99.149Upgrade python3-perf6.12-debuginfoUpgrade kernel6.18Upgrade kernel6.18-tools-develUpgrade kernel6.18-modules-extra-commonUpgrade perf6.12-debuginfoUpgrade kernel6.18-develUpgrade kernel6.18-headersUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-headersUpgrade kernel6.12-develUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel-livepatch-6.12.103-127.188 | Sep 1, 2026 | Aug 15, 2026 |
| Debian | — | Upgrade linux-6.12Upgrade linux | Aug 26, 2026 | Aug 26, 2026 |
| Redhat_linux | — | No solution exists | Aug 21, 2026 | Aug 15, 2026 |
| Ubuntu | — | Upgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-6.8.0-1036-nvidia-tegraUpgrade linux-image-genericUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-azure-fips-5.15Upgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-realtimeUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-gkeopUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-intelUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1112-nvidia-lowlatencyUpgrade linux-image-virtual-5.15Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-5.15.0-198-genericUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-aws-5.15Upgrade linux-image-fips-5.15Upgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1123-azureUpgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-gkeUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-virtualUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gkeop-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-gcpUpgrade linux-image-ibm-5.15Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1117-awsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-nvidia-tegraUpgrade linux-image-generic-64kUpgrade linux-image-gcp-5.15Upgrade linux-image-azure-fde-5.15Upgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-nvidia-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-awsUpgrade linux-image-6.8.0-1036-nvidia-tegra-rtUpgrade linux-image-5.15.0-1112-nvidiaUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-generic-64k-5.15Upgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-oracle-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-realtime-5.15Upgrade linux-image-lowlatencyUpgrade linux-image-oem-20.04cUpgrade linux-image-oem-20.04bUpgrade linux-image-gke-5.15Upgrade linux-image-gcp-fipsUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-azure-fipsUpgrade linux-image-azureUpgrade linux-image-azure-lts-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-ibmUpgrade linux-image-generic-lpaeUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-fipsUpgrade linux-image-aws-64k-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-5.15Upgrade linux-image-5.15.0-198-fips | Oct 6, 2026 | Oct 6, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 21, 2026 | Aug 15, 2026 |
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