Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 Linux Kernel的sys/net/af_rose.c文件中的rose_sendmsg函数没有正确地验证报文中的len值。假设len为很大的值,如0xfffffff8,则size就可能会被溢出: size = len + AX25_BPQ_HEADER_LEN + AX25_MAX_HEADER_LEN + ROSE_MIN_LEN; 导致生成的缓冲区过小: if ((skb = sock_alloc_send_skb(sk, size, msg->msg_flags & MSG_DONTWAIT, &err)) == NULL) return err; 远程攻击者可以通过发送包含有超长长度值的报文来检索可能包含有敏感数据的未初始化内核内存。
Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 Linux Kernel的sys/net/af_rose.c文件中的rose_sendmsg函数没有正确地验证报文中的len值。假设len为很大的值,如0xfffffff8,则size就可能会被溢出: size = len + AX25_BPQ_HEADER_LEN + AX25_MAX_HEADER_LEN + ROSE_MIN_LEN; 导致生成的缓冲区过小: if ((skb = sock_alloc_send_skb(sk, size, msg->msg_flags & MSG_DONTWAIT, &err)) == NULL) return err; 远程攻击者可以通过发送包含有超长长度值的报文来检索可能包含有敏感数据的未初始化内核内存。