首页 -> 安全研究

安全研究

安全公告
绿盟科技安全公告(SA2001-07)

NSFOCUS安全小组(security@nsfocus.com)
http://www.nsfocus.com

ActivePerl PerlIS.dll 远程缓冲区溢出漏洞

发布日期:2001-11-15

CVE ID:CVE-2001-0815
BUGTRAQ ID:3526

受影响的软件及系统:
====================
Activestate ActivePerl 5.6.1.629 以及更低版本
- Microsoft Windows IIS 4.0
- Microsoft Windows IIS 5.0

未受影响的软件及系统:
======================
Activestate ActivePerl 5.6.1.630
- Microsoft Windows IIS 4.0
- Microsoft Windows IIS 5.0

综述:
======
NSFOCUS安全小组发现ActivePerl所带的一个动态链接库(perlIS.dll)在处理超长文件名时存在一个缓冲区溢出漏洞,攻击者可能利用这个漏洞远程执行任意代码。

分析:
======
ActivePerl 是ActiveState公司开发的一套二进制perl软件包,可应用于Linux,Solaris,Windows系统下。ActivePerl for windows包含一个名为perlIS.dll的动态链接库文件,它是一个ISAPI扩展,为微软IIS服务器提供了一个高性能的perl接口。

PerlIS可以对用户发送的perl脚本请求进行处理,然而,它没有正确检查用户提交的URL请求的长度。如果用户发送一个超长的URL请求,PerlIS会调用strcpy()将其拷贝到一个堆栈中的缓冲区里,这会触发一个缓冲区溢出。攻击者可以覆盖堆栈中的一些敏感数据,例如返回地址等等,如果精心构造URL请求的内容,攻击者就可以远程执行任意代码。

成功地利用这个漏洞,在IIS 5.0中,攻击者可以获取IWAM_machinename用户的权限. 在IIS 4.0中,攻击者可以获取Local SYSTEM权限。

测试方法:
==========
$ lynx http://host/cgi-bin/`perl -e 'print "A" x 360'`.pl

The remote procedure call failed.

解决方法:
==========
我们建议用户按照参考如下步骤消除漏洞(以IIS 4.0为例):

1. 打开Internet 服务管理器
2. 右击你的服务器(例如 "* nsfocus"),在菜单中选择"属性"栏
3. 选择"主属性"
4. 选择 WWW 服务 | 编辑 | 主目录 | 配置
5. 在扩展名列表中找到对应perlIS.dll的项(通常映射到".pl"或".cgi")
6. 点击"配置",然后点击"检查文件是否存在"选项
6. 保存设置,然后重启IIS服务。

厂商状态:
==========
2001.10.15  我们将这个问题通报给了ActiveState公司。
2001.10.23  ActiveState公司告知已经在build 630中修复此安全问题

您可以在下列地址下载ActivePerl的最新版本:

http://www.activestate.com/Products/ActivePerl/download.plex

声 明
==========

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技
============

绿盟科技(NSFOCUS Co., Ltd.)是中国网络安全领域的领导企业,致力于网络和系统安全问题的研究、高端网络安全产品的研发、销售与网络安全服务,在入侵检测/保护、远程评估、 DDoS攻击防护等方面提供具有国际竞争能力的先进产品,是国内最具安全服务经验的专业公司。有关绿盟科技的详情请参见: http://www.nsfocus.com

© 2024 绿盟科技