你妈,一个BASH的漏洞,可以通过漏洞获取很大的权限,解决的方法很简单,就是升级bash。
下面是官网拔下来的,当然用的翻译。
在Linux中,环境变量提供了一种软件的行为对系统的影响。对于很多程序在后台运行bash shell是很常见的。它经常被用来向远程用户提供壳(通过SSH,Telnet,例如),提供一个CGI脚本解析器(Apache,等)甚至提供有限的命令执行的支持(GIT,等)
回到主题,变量与特制的值调用Shell之前。这些变量可以包含代码,壳被调用执行。这些特制的变量的名称并不重要,只是含量。作为一个结果,这个漏洞是在许多环境中暴露出来,例如:
forcecommand用于sshd脚本提供有限的命令的执行能力,为远程用户。这个缺陷可以用于旁路,并提供任意命令执行。一些Git和颠覆部署使用限制炮弹。OpenSSH的定期使用,不是因为用户已经访问的影响。
Apache服务器使用mod_cgi如果CGI脚本或mod_cgid是写在bash的影响,或产生的亚层。这样子shell的隐式使用的C / popen系统,通过os.system/os.popen Python,PHP /执行系统(当运行CGI模式),和打开/系统在Perl中如果使用外壳(这取决于命令字符串)。
PHP脚本执行mod_php不会受到影响,即使他们产卵的亚层。
DHCP客户端调用shell脚本来配置系统,从一个潜在的恶意服务器的值。这将允许执行任意命令,通常为根,在DHCP客户机。
各种守护进程和suid /特许的程序可以执行的shell脚本的用户的影响的环境变量设置的值,这将允许任意要运行的命令。
任何其他的应用程序,钩住外壳或运行一个shell脚本使用bash当翻译。shell脚本不出口的变量是不容易受到这个问题,即使他们的过程不受信任的内容并将其存储在(导出)外壳程序变量和开支壳层。
像“真正”的编程语言,bash有功能,虽然在一些有限的实现,并有可能把这些bash功能为环境变量。该漏洞被触发时,额外的代码添加到这些函数定义结束(内部环境变量)
root@slave1 ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test [root@slave1 ~]# rpm -qa|grep bash bash-4.1.2-8.el6.centos.x86_64 [root@slave1 ~]# [root@slave1 ~]# yum update bash -y Loaded plugins: fastestmirror, security Determining fastest mirrors epel/metalink | 3.8 kB 00:00 * epel: mirror.premi.st base | 3.7 kB 00:00 cdh | 951 B 00:00 cloudera-cdh4 | 951 B 00:00 epel | 4.4 kB 00:00 epel/primary_db | 6.3 MB 00:26 extras | 3.3 kB 00:00 percona | 951 B 00:00 percona/primary | 30 kB 00:00 percona 98/98 updates | 3.4 kB 00:00 updates/primary_db | 5.3 MB 00:22 Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package bash.x86_64 0:4.1.2-8.el6.centos will be updated ---> Package bash.x86_64 0:4.1.2-15.el6_5.1 will be an update --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================= Updating: bash x86_64 4.1.2-15.el6_5.1 updates 905 k Transaction Summary ================================================================================================================================================================================= Upgrade 1 Package(s) Total download size: 905 k Downloading Packages: bash-4.1.2-15.el6_5.1.x86_64.rpm | 905 kB 00:02 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : bash-4.1.2-15.el6_5.1.x86_64 1/2 Cleanup : bash-4.1.2-8.el6.centos.x86_64 2/2 Updated: bash.x86_64 0:4.1.2-15.el6_5.1 Complete! [root@slave1 ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test" bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' this is a test [root@slave1 ~]#