Description
In the Linux kernel, the following vulnerability has been resolved: net: af_key: zero aligned sockaddr tail in PF_KEY exports PF_KEY export paths use `pfkey_sockaddr_size()` when reserving sockaddr payload space, so IPv6 addresses occupy 32 bytes on the wire. However, `pfkey_sockaddr_fill()` initializes only the first 28 bytes of `struct sockaddr_in6`, leaving the final 4 aligned bytes uninitialized. Not every PF_KEY 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 `skb_put()`: - `SADB_ACQUIRE` - `SADB_X_NAT_T_NEW_MAPPING` - `SADB_X_MIGRATE` Fix those paths by clearing only the aligned sockaddr tail after `pfkey_sockaddr_fill()`.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 2e74f974359b5382ecbe8536abbb5b837eb6c724
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 426c355742f02cf743b347d9d7dbdc1bfbfa31ef
2.6.12
Any version before 2.6.12
6.19.14 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/2e74f974359b5382ecbe8536abbb5b837eb6c724
git.kernel.org/...c/426c355742f02cf743b347d9d7dbdc1bfbfa31ef