Description
The tun_chr_poll function in drivers/net/tun.c in the tun subsystem in the Linux kernel 2.6.30 and 2.6.30.1, when the -fno-delete-null-pointer-checks gcc option is omitted, allows local users to gain privileges via vectors involving a NULL pointer dereference and an mmap of /dev/net/tun, a different vulnerability than CVE-2009-1894.
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 2
- Linux Kernel 2.6.30 < 2.6.30.1 / SELinux (RHEL 5) - Local Privilege Escalation EDB-9191 · local · Jul 17, 2009 · verified
- Linux Kernel 2.6.30 - 'tun_chr_pool()' Null Pointer Dereference EDB-33088 · dos · Jun 17, 2009 · verified
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
References
- ADV-2009-1925 vdb-entry
- http://isc.sans.org/diary.html?storyid=6820
- http://grsecurity.net/~spender/cheddar_bay.tgz
- [oss-security] 20090717 Linux 2.6.30+/SELinux/RHEL5 test kernel 0day, exploiting the unexploitable mailing-list
- 20090716 Re: Linux 2.6.30+/SELinux/RHEL5 test kernel 0day, exploiting the unexploitable mailing-list
- linux-kernel-tunchrpoll-code-execution(51803) vdb-entry
- [netdev] 20090409 Oops in tun: bisected to Limit amount of queued packets per device mailing-list
- 35839 third-party-advisory
- http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git%3Ba=commit%3Bh=3c8a9c63d5fd738c261bd0ceece04d9c8357ca13
- https://bugzilla.redhat.com/show_bug.cgi?id=512284
- [linux-kernel] 20090706 Re: PROBLEM: tun/tap crashes if open() /dev/net/tun and then poll() it. mailing-list
- 20090716 Linux 2.6.30+/SELinux/RHEL5 test kernel 0day, exploiting the unexploitable mailing-list
- https://www.redhat.com/en/blog/security-flaws-caused-compiler-optimizations