安全研究

威胁情报
Glibc gethostbyname()堆缓冲区溢出漏洞 (Alert2015-01)

发布日期:2015-01-28

描述:

CVE ID:CVE-2015-0235
受影响的软件及系统:
====================
Glibc 2.2 - 2.17
未受影响的软件及系统:
======================
Glibc 2.18
综述:
======
Glibc 2.18之前的版本中的__nss_hostname_digits_dots()函数存在一个堆缓冲区漏洞,攻击者可以利用此漏洞执行任意代码。
由于Glibc是基础的C运行库,大量应用都可能受此问题影响,建议尽快升级。
分析:
======
glibc是GNU发布的libc库,即c运行库,几乎其它任何运行库都会依赖于glibc。
glibc 2.18之前版本中,__nss_hostname_digits_dots()函数存在堆缓冲区溢出漏洞,gethostbyname()及gethostbyname2()这两个glibc函数调用时会用到该函数。如果远程攻击者可以调用这些函数中的任意一个,即可利用此漏洞以当前用户权限执行任意代码。
虽然2013年5月21日GNU官方已经修复了此漏洞(介于glibc-2.17及glibc-2.18之间的版本),但当时并未当成漏洞处理,因此很多Linux发行版并未进行升级。目前Debian 7 (wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04等大多数的Linux发行版都受此问题影响。
此漏洞触发严重依赖应用程序调用gethostbyname()的方式,需要满足多个条件才能触发漏洞。目前看绝大多数的本地SUID程序和服务程序无法被利用。
目前已知受影响的应用程序为exim4邮件服务程序,如果设置了对HELO和EHELO命令进行额外安全检查(非默认配置),则可以远程执行任意代码。
不排除其他应用受此问题影响。

解决方法:

没有好的临时解决方法,建议尽快升级或按照厂商补丁。
厂商状态:
==========
GNU和各大Linux发行版厂商均已修复此漏洞,请尽快进行升级:
RedHat: https://rhn.redhat.com/errata/RHSA-2015-0090.html
Ubuntu: https://launchpad.net/ubuntu/+source/eglibc
Debian: https://security-tracker.debian.org/tracker/CVE-2015-0235
GNU C Library: http://www.gnu.org/software/libc/
附加信息:
==========
1. https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt
2. http://www.nsfocus.net/index.php?act=alert&do=view&aid=153
3. https://rhn.redhat.com/errata/RHSA-2015-0090.html
4. https://security-tracker.debian.org/tracker/CVE-2015-0235


浏览次数:

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

绿盟科技,巨人背后的专家
关 闭