Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
|
|
|
|
|
|
|
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
|
|
|
|
Become a Partner and License Our Database or Notification Service
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Python SimpleXMLRPCServer May Let Remote Users Access Internal Data or Execute Arbitrary Code
|
|
SecurityTracker Alert ID: 1013083
|
|
SecurityTracker URL: http://securitytracker.com/id?1013083
|
|
CVE Reference: CAN-2005-0089
(Links to External Site)
|
Date: Feb 3 2005
|
Impact: Disclosure of user information, Execution of arbitrary code via network, Modification of user information, User access via network
|
Fix Available: Yes
Vendor Confirmed: Yes
|
Version(s): 2.2 all versions, 2.3 prior to 2.3.5, 2.4
|
Description: A vulnerability was reported in Python in the SimpleXMLRPCServer library module. A remote user can access internal module data, potentially executing arbitrary code.
The vendor reported that Python XML-RPC servers that use the register_instance() method to register an object without a _dispatch()
method are affected. A remote user may be able to view or modify globals of the module or other modules that contain the registered
instance's class(es).
Situations where the registered object is a module present a serious risk. If, for example, the registered
module imports the os module, then a remote user can invoke the os.system() function to execute arbitrary operating system commands.
The
Python development team discovered this flaw.
|
Impact: A remote user may be able to gain read and write access to internal module data and functions, potentially executing arbitrary code.
|
Solution: The vendor plans to issue fixed versions (2.3.5, 2.4.1). Version 2.3.5 is to be released within a few days from their announcement
and version 2.4.1 is to be released later in February 2005.
The vendor has issued patches for Python 2.2, 2.3, and 2.4, available
at:
http://python.org/security/PSF-2005-001/patch-2.2.txt (Python 2.2)
http://python.org/security/PSF-2005-001/patch.txt (Python
2.3, 2.4)
The vendor notes that the patches disable recursive traversal, which may adversely affect some XML-RPC applications
that use the feature.
|
Vendor URL: www.python.org/security/PSF-2005-001/PSF-2005-001.txt (Links to External Site)
|
Cause: Access control error
|
Underlying OS: Linux (Any), UNIX (Any), Windows (Any)
|
|
Message History:
This archive entry has one or more follow-up message(s) listed below.
|
Source Message Contents
|
Date: Thu, 3 Feb 2005 15:30:45 -0500
Subject: http://www.python.org/security/PSF-2005-001/PSF-2005-001.txt
|
---------------------------------------------------------------------
Python Security Advisory
Advisory ID: PSF-2005-001
Issue Date: February 3, 2005
Product: Python
Versions: 2.2 all versions, 2.3 prior to 2.3.5, 2.4
CVE Names: CAN-2005-0089
---------------------------------------------------------------------
Python is an interpreted, interactive, object-oriented programming
language. It is often compared to Tcl, Perl, Scheme or Java.
The Python development team has discovered a flaw in the
SimpleXMLRPCServer library module which can give remote attackers
access to internals of the registered object or its module or possibly
other modules. The flaw only affects Python XML-RPC servers that use
the register_instance() method to register an object without a
_dispatch() method. Servers using only register_function() are not
affected.
On vulnerable XML-RPC servers, a remote attacker may be able to view
or modify globals of the module(s) containing the registered
instance's class(es), potentially leading to data loss or arbitrary
code execution. If the registered object is a module, the danger is
particularly serious. For example, if the registered module imports
the os module, an attacker could invoke the os.system() function.
But the attack is not limited to registered object modules; for
example, the code in the Python cookbook recipe at
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/165375 is
vulnerable to an attack using im_func.func_globals.update which allows
reading or modifying the global variable accessList.
The Common Vulnerabilities and Exposures project (cve.mitre.org) has
assigned the name CAN-2005-0089 to this issue.
Python 2.3.5 will be released from www.python.org within a few days
containing a fix for this issue. Python 2.4.1 will be released later
this month containing the same fix. Patches for Python 2.2, 2.3 and
2.4 are also immediately available:
- http://python.org/security/PSF-2005-001/patch-2.2.txt (Python 2.2)
- http://python.org/security/PSF-2005-001/patch.txt (Python 2.3, 2.4)
Note that these patches disable recursive traversal, potentially
resulting in reduced functionality of XML-RPC applications depending
on this feature.
|
|
Go to the Top of This SecurityTracker Archive Page
|