什么是’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
最终产出将是vulnerable
或not vulnerable
。