SOAP::Lite远程任意命令可执行漏洞
发布日期:2002-04-12
更新日期:2002-04-15
受影响系统:Paul Kulchenko SOAP::Lite
描述:
BUGTRAQ ID:
4493
CVE(CAN) ID:
CVE-2002-1742
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组件服务程序进程的权限执行任意命令。
<*来源:stealth (
stealth@segfault.net)
链接:
http://archives.neohapsis.com/archives/bugtraq/2002-04/0124.html
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* Ilya Martynov (
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/浏览次数:3190
严重程度:0(网友投票)