CVE-2022-50706
Description
In the Linux kernel, the following vulnerability has been resolved:
net/ieee802154: don't warn zero-sized raw_sendmsg()
syzbot is hitting skb_assert_len() warning at __dev_queue_xmit() [1], for PF_IEEE802154 socket's zero-sized raw_sendmsg() request is hitting __dev_queue_xmit() with skb->len == 0.
Since PF_IEEE802154 socket's zero-sized raw_sendmsg() request was able to return 0, don't call __dev_queue_xmit() if packet length is 0.
---------- #include <sys/socket.h> #include <netinet/in.h>
int main(int argc, char *argv[]) { struct sockaddr_in addr = { .sin_family = AF_INET, .sin_addr.s_addr = htonl(INADDR_LOOPBACK) }; struct iovec iov = { }; struct msghdr hdr = { .msg_name = &addr, .msg_namelen = sizeof(addr), .msg_iov = &iov, .msg_iovlen = 1 }; sendmsg(socket(PF_IEEE802154, SOCK_RAW, 0), &hdr, 0); return 0; } ----------
Note that this might be a sign that commit fd1894224407c484 ("bpf: Don't redirect packets with invalid pkt_len") should be reverted, for skb->len == 0 was acceptable for at least PF_IEEE802154 socket.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A zero-length raw_sendmsg() on PF_IEEE802154 sockets triggers a kernel warning; fix avoids queueing empty packets.
Root
Cause
In the Linux kernel, the net/ieee802154 subsystem's raw socket implementation allowed a zero-length sendmsg() call (i.e., an empty network packet) to reach __dev_queue_xmit(). When the network stack later called skb_assert_len() on the zero-length skb, it triggered a warning (WARN_ON_ONCE), creating a splat in kernel logs [1].
Attack
Surface
The vulnerability is exploitable by any local user who can create a PF_IEEE802154 SOCK_RAW socket and call sendmsg() with an empty iovec. No special privileges or network access are required, and the attack can target a loopback address [1]. A simple proof-of-concept found in syzbot reports demonstrates the ease of triggering the warning [1].
Impact
The primary impact is a kernel WARNING splat, which can be used to flood system logs and potentially interfere with legitimate operations. While the warning itself does not directly corrupt memory, repeated exploitation could be part of a denial-of-service (DoS) strategy. The commit's note also suggests the zero-length behavior was historically accepted, so blindly rejecting such packets might break existing valid applications [1].
Mitigation
The fix introduces a length check in raw_sendmsg(): if the packet length is 0, the function returns early without calling __dev_queue_xmit(), thus preventing the WARNING. The patch has been applied to the stable kernel branches [1][2][3]. No workaround is needed after applying the update.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
64a36de894779791489a5c56334f31a2b6679df0da3fc13119974d220c507b12e924a2f5bVulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- git.kernel.org/stable/c/34f31a2b667914ab701ca725554a0b447809d7efnvd
- git.kernel.org/stable/c/4a36de8947794fa21435d1e916e089095f3246a8nvd
- git.kernel.org/stable/c/791489a5c56396ddfed75fc525066d4738dace46nvd
- git.kernel.org/stable/c/9974d220c5073d035b5469d1d8ecd71da86c7afdnvd
- git.kernel.org/stable/c/b12e924a2f5b960373459c8f8a514f887adf5cacnvd
- git.kernel.org/stable/c/df0da3fc131132b6c32a15c4da4ffa3a5aea1af2nvd
News mentions
0No linked articles in our index yet.