In the Linux kernel, the following vulnerability has been resolved:
net/ieee802154: don't warn zero-sized raw_sendmsg()
syzbot is hitting skbassertlen() warning at _devqueuexmit() [1], for PFIEEE802154 socket's zero-sized rawsendmsg() request is hitting _devqueuexmit() with skb->len == 0.
Since PFIEEE802154 socket's zero-sized rawsendmsg() request was able to return 0, don't call _devqueue_xmit() if packet length is 0.
#include <sys/socket.h> #include <netinet/in.h>
int main(int argc, char *argv[]) { struct sockaddrin addr = { .sinfamily = AFINET, .sinaddr.saddr = htonl(INADDRLOOPBACK) }; struct iovec iov = { }; struct msghdr hdr = { .msgname = &addr, .msgnamelen = sizeof(addr), .msgiov = &iov, .msgiovlen = 1 }; sendmsg(socket(PFIEEE802154, SOCKRAW, 0), &hdr, 0); return 0; }
Note that this might be a sign that commit fd1894224407c484 ("bpf: Don't redirect packets with invalid pktlen") should be reverted, for skb->len == 0 was acceptable for at least PFIEEE802154 socket.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50706.json"
}