SOAP::Lite Remote Arbitrary Command Execution Vulnerability
BID:4493
Info
SOAP::Lite Remote Arbitrary Command Execution Vulnerability
| Bugtraq ID: | 4493 |
| Class: | Design Error |
| CVE: | |
| Remote: | Yes |
| Local: | No |
| Published: | Dec 28 2001 12:00AM |
| Updated: | Dec 28 2001 12:00AM |
| Credit: | Published by stealth <[email protected]>. |
| Vulnerable: |
Paul Kulchenko SOAP::Lite 0.52 Paul Kulchenko SOAP::Lite 0.51 Paul Kulchenko SOAP::Lite 0.50 |
| Not Vulnerable: |
Paul Kulchenko SOAP::Lite 0.55 |
Discussion
SOAP::Lite Remote Arbitrary Command Execution Vulnerability
SOAP::Lite is a collection of Perl modules providing an implementation of the Simple Object Access Protocol (SOAP). It includes support for both client and server programming.
A vulnerability has been reported in some versions of SOAP::Lite. It is possible to execute arbitrary Perl functions as the server process, including attacker supplied parameters.
This may happen when an attacker provides a fully qualified method to the SOAP call, including Perl package names. Usage of functions such as POSIX::system() may then result in arbitrary shell commands being executed by the server process, and lead to local access to the vulnerable system.
SOAP::Lite is a collection of Perl modules providing an implementation of the Simple Object Access Protocol (SOAP). It includes support for both client and server programming.
A vulnerability has been reported in some versions of SOAP::Lite. It is possible to execute arbitrary Perl functions as the server process, including attacker supplied parameters.
This may happen when an attacker provides a fully qualified method to the SOAP call, including Perl package names. Usage of functions such as POSIX::system() may then result in arbitrary shell commands being executed by the server process, and lead to local access to the vulnerable system.
Exploit / POC
SOAP::Lite Remote Arbitrary Command Execution Vulnerability
Currently the SecurityFocus staff are not aware of any exploits for this issue. If you feel we are in error or are aware of more recent information, please mail us at: [email protected] <mailto:[email protected]>.
Currently the SecurityFocus staff are not aware of any exploits for this issue. If you feel we are in error or are aware of more recent information, please mail us at: [email protected] <mailto:[email protected]>.
Solution / Fix
SOAP::Lite Remote Arbitrary Command Execution Vulnerability
Solution:
An unofficial patch has been provided by 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);
Fixes available:
Paul Kulchenko SOAP::Lite 0.50
Paul Kulchenko SOAP::Lite 0.51
Paul Kulchenko SOAP::Lite 0.52
Solution:
An unofficial patch has been provided by 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);
Fixes available:
Paul Kulchenko SOAP::Lite 0.50
-
Paul Kulchenko SOAP-Lite-latest.tar.gz
SOAP::Lite 0.55 for Unix
http://www.soaplite.com/download/SOAP-Lite-latest.tar.gz -
Paul Kulchenko SOAP-Lite-latest.zip
SOAP::Lite 0.55 for Win32
http://www.soaplite.com/download/SOAP-Lite-latest.zip
Paul Kulchenko SOAP::Lite 0.51
-
Paul Kulchenko SOAP-Lite-latest.tar.gz
SOAP::Lite 0.55 for Unix
http://www.soaplite.com/download/SOAP-Lite-latest.tar.gz -
Paul Kulchenko SOAP-Lite-latest.zip
SOAP::Lite 0.55 for Win32
http://www.soaplite.com/download/SOAP-Lite-latest.zip
Paul Kulchenko SOAP::Lite 0.52
-
Paul Kulchenko SOAP-Lite-latest.tar.gz
SOAP::Lite 0.55 for Unix
http://www.soaplite.com/download/SOAP-Lite-latest.tar.gz -
Paul Kulchenko SOAP-Lite-latest.zip
SOAP::Lite 0.55 for Win32
http://www.soaplite.com/download/SOAP-Lite-latest.zip
References
SOAP::Lite Remote Arbitrary Command Execution Vulnerability
References:
References:
- Phrack Magazine Volume 9, Issue 58 Dec 28 2001, article 09 of 14 (Phrack)
- Re: [soaplite] Re: Preventing package name traversal attacks (Paul Kulchenko)
- Re: Preventing package name traversal attacks (Ilya Martynov)
- Serious SOAP::Lite Security Hole Discovered (use Perl;)
- SOAP::Lite Homepage (Paul Kulchenko)