Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < b74ba3343eb44b2cbf7e9665918c287df1d52ebbaffected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < 0b35dc8527ccc16b7dc34e8a3164313e68cd4e45affected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < b28e2fcad3db7e8687b15bc20bced26b5b7c920eaffected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < a0d16941adf3a501956d74aefd8d6e217906e79caffected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < 8d67e42ad3b1a95a152541015a07110e06992d6caffected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < 08a3e218064db11f154ad9ad5541751ea7f34ebeaffected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < fb0521aff1e10e300d89725cc439d3ea74c828c5affected71ae0dff02d756e4d2ca710b79f2ff5390029a5f to < f7f2fbb0e893a0238dc464f8d8c0f5609bec584faffected
Linux Linux
Default version status: affected
4.2affected0 to < 4.2unaffected5.10.259 to ≤ 5.10.*unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.94 to ≤ 6.12.*unaffected6.18.36 to ≤ 6.18.*unaffected7.0.13 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b74ba3343eb44b2cbf7e9665918c287df1d52ebb ↗
- https://git.kernel.org/stable/c/0b35dc8527ccc16b7dc34e8a3164313e68cd4e45 ↗
- https://git.kernel.org/stable/c/b28e2fcad3db7e8687b15bc20bced26b5b7c920e ↗
- https://git.kernel.org/stable/c/a0d16941adf3a501956d74aefd8d6e217906e79c ↗
- https://git.kernel.org/stable/c/8d67e42ad3b1a95a152541015a07110e06992d6c ↗
- https://git.kernel.org/stable/c/08a3e218064db11f154ad9ad5541751ea7f34ebe ↗
- https://git.kernel.org/stable/c/fb0521aff1e10e300d89725cc439d3ea74c828c5 ↗
- https://git.kernel.org/stable/c/f7f2fbb0e893a0238dc464f8d8c0f5609bec584f ↗
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗