Python: Arbitrary code execution through SimpleXMLRPCServer — GLSA 200502-09

Python-based XML-RPC servers may be vulnerable to remote execution of arbitrary code.

Affected Packages

dev-lang/python on all architectures
Affected versions <= 2.3.4
Unaffected versions >= 2.3.4-r1, revision >= 2.3.3-r2, revision >= 2.2.3-r6

Background

Python is an interpreted, interactive, object-oriented, cross-platform programming language.

Description

Graham Dumpleton discovered that XML-RPC servers making use of the SimpleXMLRPCServer library that use the register_instance() method to register an object without a _dispatch() method are vulnerable to a flaw allowing to read or modify globals of the associated module.

Impact

A remote attacker may be able to exploit the flaw in such XML-RPC servers to execute arbitrary code on the server host with the rights of the XML-RPC server.

Workaround

Python users that don't make use of any SimpleXMLRPCServer-based XML-RPC servers, or making use of servers using only the register_function() method are not affected.

Resolution

All Python users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose dev-lang/python

References

Release Date
February 08, 2005

Latest Revision
February 08, 2005: 01

Severity
high

Exploitable
remote

Bugzilla entries