NVD Vulnerability Detail
Search Exploit, PoC
CVE-2026-31664
Summary

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

xfrm: clear trailing padding in build_polexpire()

build_expire() clears the trailing padding bytes of struct
xfrm_user_expire after setting the hard field via memset_after(),
but the analogous function build_polexpire() does not do this for
struct xfrm_user_polexpire.

The padding bytes after the __u8 hard field are left
uninitialized from the heap allocation, and are then sent to
userspace via netlink multicast to XFRMNLGRP_EXPIRE listeners,
leaking kernel heap memory contents.

Add the missing memset_after() call, matching build_expire().

Publication Date April 25, 2026, 12:16 a.m.
Registration Date April 25, 2026, 4:08 a.m.
Last Update April 25, 2026, 2:51 a.m.
Related information, measures and tools
Common Vulnerabilities List