CVE-2026-43088: net: af_key: zero aligned sockaddr tail in PF_KEY exports
In the Linux kernel, the following vulnerability has been resolved:
net: afkey: zero aligned sockaddr tail in PFKEY exports
PFKEY export paths use pfkeysockaddrsize() when reserving sockaddr payload space, so IPv6 addresses occupy 32 bytes on the wire. However, pfkeysockaddrfill() initializes only the first 28 bytes of struct sockaddrin6, leaving the final 4 aligned bytes uninitialized.
Not every PFKEY message is affected. The state and policy dump builders already zero the whole message buffer before filling the sockaddr payloads. Keep the fix to the export paths that still append aligned sockaddr payloads with plain skbput():
- SADBACQUIRE - SADBXNATTNEWMAPPING - SADBXMIGRATE
Fix those paths by clearing only the aligned sockaddr tail after pfkeysockaddrfill().
Affected Software
Event History
Frequently Asked Questions
Which PF_KEY messages can expose uninitialized data?
The affected export paths are SADB_ACQUIRE, SADB_X_NAT_T_NEW_MAPPING, and SADB_X_MIGRATE when they append aligned sockaddr payloads. State and policy dump builders are not affected because they zero the complete message buffer before filling sockaddr payloads.
What access does an attacker need to exploit this issue?
The CVSS vector indicates local access and low privileges are required. No user interaction is required.
What is disclosed or impacted by the flaw?
For IPv6 PF_KEY sockaddr payloads, the final 4 bytes of the 32-byte aligned wire representation can contain uninitialized kernel memory. The provided CVSS assessment rates availability impact as high, while confidentiality and integrity impacts are rated none.