Endymion MailMan WebMail 远程执行命令漏洞
发布日期:2000-12-08
更新日期:2000-12-08
受影响系统:
Endymion MailMan WebMail 3.0.25以及更低版本
不受影响系统:
Endymion MailMan WebMail 3.0.26
描述:
Endymion MailMan Webmail是一个广为使用的Web邮件程序。在3.0.26以前的版
本中没有正确的使用perl的open()函数调用,将允许用户输入包含shell元字符
的数据,并可以以CGI脚本运行权限执行任意命令。(通常是'nobody')
MailMan使用模板(template)文件定义输出界面,以便用户更方便地根据自己的
需要使用。
老版本的MailMan使用的模板文件路径是固定的。3.0以上的版本允许通过
‘ALTERNATE_TEMPLATES’变量来指定模板文件的路径。由于使用open()函数打
开模板文件时没有使用"<"操作符,也没有对用户输入的数据进行安全检查,而
是使用如下的格式:
open("$ALTERNATE_TEMPLATES_<action>.html");
因此,用户可以在$ALTERNATE_TEMPLATES中输入特殊的shell元字符来执行任意
命令,例如:
/mmstdod.cgi?ALTERNATE_TEMPLATES=|%20echo%20"Content-Type:%20text%2Fhtml"%3B
echo%20""%20%3B%20id%00
<*来源:Secure Reality Pty Ltd. Security Advisory #5 (SRADV00005)
http://www.securereality.com.au
*>
建议:
临时解决方法:
NSFOCUS建议您在mmstdod.cgi开头的配置部分取消掉
“$mailman::strLocalTemplateLocation”的注释符号。(缺省情况下此项备
注释)
厂商补丁:
Endymion公司已经提供了最新的3.0.26版本,解决了此问题,下载地址:
http://www.endymion.com/products/mailman/download.htm
(注意,尽管页面上表明最新版本是3.0.25,实际上下载后会发现的程序里面的
版本号为3.0.26)
浏览次数:5299
严重程度:0(网友投票)