CVE-2026-31428

Summary

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

netfilter: nfnetlink_log: fix uninitialized padding leak in NFULA_PAYLOAD

__build_packet_message() manually constructs the NFULA_PAYLOAD netlink attribute using skb_put() and skb_copy_bits(), bypassing the standard nla_reserve()/nla_put() helpers. While nla_total_size(data_len) bytes are allocated (including NLA alignment padding), only data_len bytes of actual packet data are copied. The trailing nla_padlen(data_len) bytes (1-3 when data_len is not 4-byte aligned) are never initialized, leaking stale heap contents to userspace via the NFLOG netlink socket.

Replace the manual attribute construction with nla_reserve(), which handles the tailroom check, header setup, and padding zeroing via __nla_reserve(). The subsequent skb_copy_bits() fills in the payload data on top of the properly initialized attribute.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < 7f3e5d72455936f42709116fabeca3bb216cda62affected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < 21d8efda029948d3666b0db5afcc0d36c0984aaeaffected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < fc961dd7272b5e4a462999635e44a4770d7f2482affected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < a8365d1064ded323797c5e28e91070c52f44b76caffected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < a2f6ff3444b663d6cfa63eadd61327a18592885aaffected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < c9f6c51d36482805ac3ffadb9663fe775a13e926affected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < 7eff72968161fb8ddb26113344de3b92fb7d7ef5affected
LinuxLinuxdf6fb868d6118686805c2fa566e213a8f31c8e4f < 52025ebaa29f4eb4ed8bf92ce83a68f24ab7fdf7affected
LinuxLinux2.6.24affected
LinuxLinux0 < 2.6.24unaffected
LinuxLinux5.10.253 <= 5.10.*unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.168 <= 6.1.*unaffected
LinuxLinux6.6.131 <= 6.6.*unaffected
LinuxLinux6.12.80 <= 6.12.*unaffected
LinuxLinux6.18.21 <= 6.18.*unaffected
LinuxLinux6.19.11 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References