安全研究

安全漏洞
Mailman远程目录遍历漏洞

发布日期:2005-02-09
更新日期:2005-02-22

受影响系统:
Python GNU Mailman 2.1.5
描述:
BUGTRAQ  ID: 12504
CVE(CAN) ID: CVE-2005-0202

GNU Mailman是由Python开发的共享软件,利用它可以管理邮件列表。

GNU Mailman private.py脚本存在安全问题,远程攻击者可以利用这个漏洞以进程权限查看系统文件内容。

问题存在于Mailman/Cgi/private.py文件中:

def true_path(path):
    "Ensure that the path is safe by removing .."
    path = path.replace('../', '')
    path = path.replace('./', '')
    return path[1:]


特殊形式的URL如".../....///"传递给这些函数,会返回类似"../",因此可导致目录遍历,可以WEB进程权限查看文件内容。

<*来源:John Cartwright (johnc@grok.org.uk
  
  链接:http://www.debian.org/security/2005/dsa-674
        http://security.gentoo.org/glsa/glsa-200502-11.xml
        http://www.debian.org/security/2005/dsa-674
        http://www.debian.org/security/2005/dsa-674
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 把如下代码:

def true_path(path):
    "Ensure that the path is safe by removing .."
    path = path.replace('../', '')
    path = path.replace('./', '')
    return path[1:]


更改为:

SLASH = '/'

def true_path(path):
    "Ensure that the path is safe by removing .."
    parts = [x for x in path.split(SLASH) if x not in ('.', '..')]
    return SLASH.join(parts)[1:]

厂商补丁:

Python
------
http://www.debian.org/security/2005/dsa-674

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