BUGTRAQ ID: 35724
CVE(CAN) ID: CVE-2009-1894
Linux Kernel是开放源码操作系统Linux所使用的内核。
Linux Kernel的drivers/net/tun.c文件中的tun_chr_poll()函数存在空指针引用错误:
int fd;
struct pollfd pfd;
fd = open("/dev/net/tun", O_RDWR);
pfd.fd = fd;
pfd.events = POLLIN | POLLOUT;
poll(&pfd, 1, 0);
如果用户对tun设备执行了open()和poll()操作,就可以触发这个漏洞,导致崩溃或以root用户权限执行任意指令。成功攻击要求使用GCC的-fdelete-null-pointer-checks优化编译了内核。
Linux kernel 2.6.30
厂商补丁:
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: