Linux Kernel是开放源码操作系统Linux所使用的内核 。 Linux Kernel的drivers/net/tun.c文件中的tun_chr_poll()函数存在空指针引用错误: int fd; struct pollfd pfd; fd = open( quot;/dev/net/tun quot;, O_RDWR); pfd.fd = fd; pfd.events = POLLIN | POLLOUT; poll( pfd, 1, 0); 如果用户对tun设备执行了open()和poll()操作,就可以触发这个漏洞,导致崩溃或以root用户权限执行任意指令。成功攻击要求使用GCC的-fdelete-null-pointer-checks优化编译了内核 。
Linux Kernel是开放源码操作系统Linux所使用的内核 。 Linux Kernel的drivers/net/tun.c文件中的tun_chr_poll()函数存在空指针引用错误: int fd; struct pollfd pfd; fd = open( quot;/dev/net/tun quot;, O_RDWR); pfd.fd = fd; pfd.events = POLLIN | POLLOUT; poll( pfd, 1, 0); 如果用户对tun设备执行了open()和poll()操作,就可以触发这个漏洞,导致崩溃或以root用户权限执行任意指令。成功攻击要求使用GCC的-fdelete-null-pointer-checks优化编译了内核 。