SOAP::Lite远程任意命令可执行漏洞

漏洞信息详情

SOAP::Lite远程任意命令可执行漏洞

漏洞简介

SOAP::Lite是一套PERL模块组件,为简单对象访问协议(SOAP)提供简单轻量级访问接口,可使用在Liunx、unix、windows系统下。
在调用了SOAP::Lite组件的应用服务程序中存在漏洞,可导致攻击者以调用SOAP::Lite组件的应用服务程序的进程执行任意命令。
SOAP::Lite组件中的HTTP::Daemon::ClientConn;包不安全的使用了open函数,其有漏洞代码如下:

package HTTP::Daemon::ClientConn;

sub send_file
{
my($self, $file) = @_;
my $opened = 0;
if (!ref($file)) {
local(*F);
open(F, $file) || return undef;

攻击者可以调用$soap->call(\”X:HTTP::Daemon::ClientConn::send_file\” => \”|/bin/ps\”);形式导致服务端以Demo->HTTP::Daemon::ClientConn::send_file(\”|/bin/ps\”);的顺序调用函数,通过\”|\”元字符可导致其后命令以调用SOAP::Lite组件服务程序进程的权限执行任意命令。

漏洞公告

临时解决方法:
如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:

* Ilya Martynov (http://martynov.org/)” target=”_blank”>
http://martynov.org/) 提供了一个非官方的补丁:

— /home/ilya/tmp/Lite.pm Tue Apr 9 21:27:07 2002

+++ /usr/share/perl5/SOAP/Lite.pm Tue Apr 9 21:40:10 2002

@@ -2068,6 +2068,11 @@

($method_uri, $method_name) = ($request->namespaceuriof || ”,

$request->dataof->name)

unless $method_name;

+ # don’t allow method names which contain package names

+ # i.e package::method or package’method (old deprecated syntax)

+ die “Denied access to method ($method_name)”

+ if $method_name =~ /[:’]/;

+

$self->on_action->(my $action = $self->action, $method_uri, $method_name);

my($class, $static);
厂商补丁:
Paul Kulchenko
————–
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.soaplite.com/” target=”_blank”>
http://www.soaplite.com/

参考网址

来源: www.soaplite.com
链接:http://www.soaplite.com/

来源: BID
名称: 4493
链接:http://www.securityfocus.com/bid/4493

来源: use.perl.org
链接:http://use.perl.org/articles/02/04/09/000212.shtml?tid=5

来源: XF
名称: soap-perl-execute-functions(8838)
链接:http://xforce.iss.net/xforce/xfdb/8838

来源: www.phrack.org
链接:http://www.phrack.org/show.php?p=58&a=9

来源: FREEBSD
名称: FreeBSD-SN-02:02
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SN-02%3A02.asc

来源:NSFOCUS
名称:2576
链接:http://www.nsfocus.net/vulndb/2576

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享