什么是’libc gethostbyname缓冲区溢出’,我该如何保护自己免受它侵害

显然, GNU C库中存在一个错误,可能会导致缓冲区溢出,我该如何保护自己?

参考:

  • oss-security – Qualys安全咨询CVE-2015-0235 – GHOST:glibc gethostbyname缓冲区溢出

根据Ubuntu安全通知 ,这会影响当前支持的Ubuntu版本中的10.04和12.04。

我怎样才能保护自己?

升级。

 sudo apt-get update sudo apt-get upgrade 

或者,具体来说:

 sudo apt-get update sudo apt-get install libc6 

使用apt-cache policy libc6检查当前安装的版本:

  • 对于12.04,它应该是2.15-0ubuntu10.10或更高。
  • 对于10.04,它应该是2.11.1-0ubuntu7.20或更高。

重新开始。

libc是一个核心包。 您应该重新启动,以确保您的系统上没有任何东西使用旧版本。

至少,重新启动系统上运行的每个服务。

它是什么?

发现此漏洞的团队已发布了一份建议 (在邮件列表中发布),检查所涉及的代码和案例研究。 它包括一个C程序,用于检测系统是否易受攻击。

基本上,IPv4样式地址(涉及数字和点的地址)的查找可能会导致此触发。

[主机名]必须具有以下forms之一:“abcd”,“abc”,“ab”或“a”,其中a,b,c,d必须是无符号整数,最多为0xfffffffful,成功转换(即,没有整数溢出)由十进制或八进制的strtoul()(但不是hex,因为’x’和’X’被禁止)。

这是由于所需缓冲区大小的错误计算,其中大小有点短,允许strcpy向下写入超过缓冲区末尾的数量有限(在32位机器上为4个字节,或者64位机器上的8个字节)。

团队针对Exim邮件服务器编写了一个漏洞,但代码尚未发布。

受影响的服务列表包括但不限于 :

MySQL服务器,Secure Shell服务器,表单提交应用程序和其他类型的邮件服务器。 … Apache,Cups,Dovecot,GnuPG,isc-dhcp,lighttpd,mariadb / mysql,nfs-utils,nginx,nodejs,openldap,openssh,postfix,proftpd,pure-ftpd,rsyslog,samba,sendmail,sysklogd,syslog -ng,tcp_wrappers,vsftpd和xinetd。


显然,测试代码可以在芝加哥大学网站上找到 。 因此你可以这样做:

 wget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c gcc GHOST.c -o GHOST ./GHOST 

最终产出将是vulnerablenot vulnerable