CVE-2026-53219

Summary

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

netfilter: x_tables: avoid leaking percpu counter pointers

The native and compat get-entries paths copy the fixed rule entry header from the kernelized rule blob to userspace before overwriting the entry's counter fields with a sanitized counter snapshot.

On SMP kernels, entry->counters.pcnt contains the percpu allocation address used by x_tables rule counters. A caller can provide a userspace buffer that faults during the initial fixed-header copy after pcnt has been copied but before the later sanitized counter copy runs. The syscall then returns -EFAULT while leaving the raw percpu pointer in userspace.

Copy only the fixed entry prefix before counters from the kernelized rule blob, then copy the sanitized counter snapshot into the counter field. Apply this ordering to the IPv4, IPv6, and ARP native and compat get-entries implementations so a fault cannot expose the internal percpu counter pointer.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < b74ba3343eb44b2cbf7e9665918c287df1d52ebbaffected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < 0b35dc8527ccc16b7dc34e8a3164313e68cd4e45affected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < b28e2fcad3db7e8687b15bc20bced26b5b7c920eaffected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < a0d16941adf3a501956d74aefd8d6e217906e79caffected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < 8d67e42ad3b1a95a152541015a07110e06992d6caffected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < 08a3e218064db11f154ad9ad5541751ea7f34ebeaffected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < fb0521aff1e10e300d89725cc439d3ea74c828c5affected
LinuxLinux71ae0dff02d756e4d2ca710b79f2ff5390029a5f < f7f2fbb0e893a0238dc464f8d8c0f5609bec584faffected
LinuxLinux4.2affected
LinuxLinux0 < 4.2unaffected
LinuxLinux5.10.259 <= 5.10.*unaffected
LinuxLinux5.15.210 <= 5.15.*unaffected
LinuxLinux6.1.176 <= 6.1.*unaffected
LinuxLinux6.6.143 <= 6.6.*unaffected
LinuxLinux6.12.94 <= 6.12.*unaffected
LinuxLinux6.18.36 <= 6.18.*unaffected
LinuxLinux7.0.13 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References