CVE-2026-31664: xfrm: clear trailing padding in build_polexpire()

Published Apr 24, 2026
·
Updated

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

xfrm: clear trailing padding in buildpolexpire()

buildexpire() clears the trailing padding bytes of struct xfrmuserexpire after setting the hard field via memsetafter(), but the analogous function buildpolexpire() does not do this for struct xfrmuserpolexpire.

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 XFRMNLGRPEXPIRE listeners, leaking kernel heap memory contents.

Add the missing memsetafter() call, matching buildexpire().

Affected Software

19 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=2.6.12.1<6.1.169
Linux Linux kernel>=6.2<6.6.135
Linux Linux kernel>=6.7<6.12.82
Linux Linux kernel>=6.13<6.18.23
Linux Linux kernel>=6.19<6.19.13
Linux Linux kernel=2.6.12
Linux Linux kernel=2.6.12-rc2
Linux Linux kernel=2.6.12-rc3
Linux Linux kernel=2.6.12-rc4
Linux Linux kernel=2.6.12-rc5
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5
Linux Linux kernel=7.0-rc6
Linux Linux kernel=7.0-rc7
Microsoft azl3 kernel 6.6.134.1-2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    In build_polexpire(), clear the trailing padding bytes after the __u8 hard field (add the missing memset_after() call) so uninitialized heap padding is not sent to userspace via netlink multicast to XFRMNLGRP_EXPIRE listeners.

    Linux kernel (xfrm) Add memset_after() call to clear trailing padding bytes in build_polexpire() = memset_after()

Event History

Apr 24, 2026
CVE Published
via MITRE·02:45 PM
Data Sourced
via MITRE·02:45 PM
Description
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityAffected Software
Apr 26, 2026
Data Sourced
via Microsoft·08:09 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·08:09 AM
DescriptionSeverity

Frequently Asked Questions

1

What is the severity of CVE-2026-31664?

CVE-2026-31664 is classified as a medium-severity vulnerability in the Linux kernel.

2

How do I fix CVE-2026-31664?

To mitigate CVE-2026-31664, update your Linux kernel to the latest stable version that addresses this vulnerability.

3

What type of vulnerability is CVE-2026-31664?

CVE-2026-31664 is a clearing trailing padding vulnerability in the xfrm subsystem of the Linux kernel.

4

Which versions of the Linux kernel are affected by CVE-2026-31664?

CVE-2026-31664 affects multiple versions of the Linux kernel prior to the security patch release addressing this issue.

5

Is CVE-2026-31664 a remote code execution vulnerability?

CVE-2026-31664 is not classified as a remote code execution vulnerability, but it can impact the security of systems using the affected kernel.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203