In the Linux kernel, the following vulnerability has been resolved:
ieee802154: fix kernel-infoleak in dgram_recvmsg()
KMSAN reported a kernel-infoleak in moveaddrto_user():
BUG: KMSAN: kernel-infoleak in instrumentcopytouser include/linux/instrumented.h:131 [inline] BUG: KMSAN: kernel-infoleak in inlinecopytouser include/linux/uaccess.h:205 [inline] BUG: KMSAN: kernel-infoleak in copytouser+0xcc/0x120 lib/usercopy.c:26 instrumentcopytouser include/linux/instrumented.h:131 [inline] inlinecopytouser include/linux/uaccess.h:205 [inline] copytouser+0xcc/0x120 lib/usercopy.c:26 copytouser include/linux/uaccess.h:236 [inline] moveaddrto_user+0x2e7/0x440 net/socket.c:302 ____sysrecvmsg+0x232/0x610 net/socket.c:2925 ... Uninit was stored to memory at: ieee802154addrtosa include/net/ieee802154netdev.h:369 [inline] dgramrecvmsg+0xa09/0xbe0 net/ieee802154/socket.c:739
The issue occurs because the pan_id field of struct ieee802154_addr
is left uninitialized when the address mode is IEEE802154_ADDR_NONE.
The execution flow is as follows:
__ieee802154_rx_handle_packet() declares a local struct
ieee802154_hdr hdr on the stack.ieee802154_hdr_pull() calls ieee802154_hdr_get_addr() to parse
the source and destination addresses into this structure.IEEE802154_ADDR_NONE,
ieee802154_hdr_get_addr() previously only set the mode field,
leaving the pan_id field containing uninitialized stack memory.pan_id is later copied into a struct
sockaddr_ieee802154 in dgram_recvmsg() via ieee802154_addr_to_sa().move_addr_to_user() copies the socket address structure to
user space, leaking the uninitialized bytes.Fix this by using memset to zero out the address structure in
ieee802154_hdr_get_addr() when the mode is IEEE802154_ADDR_NONE.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72441.json"
}