miércoles 23 de febrero de 2005

Problema de seguridad en librería XMLRPC de Python

La librería estándar python "SimpleXMLRPCServer.py" contiene un grave
problema de seguridad que permite que un atacante remoto acceda a datos
y ejecute métodos arbitrarios en el servidor.

Python es un lenguaje de programación sencillo pero extremadamente
potente y versátil, cuya popularidad crece día a día.

Las implementaciones no actualizadas de "SimpleXMLRPCServer.py",
librería estándar en las versiones recientes de Python, permiten que un
atacante remoto acceda a las interioridades de los objetos registrados,
sus módulos y, posiblemente, otros módulos.

La vulnerabilidad afecta exclusivamente a los servidores XMLRPC que
utilicen el método "register_instance()" para registrar un objeto sin
método "_dispatch()". Los servidores XMLRPC que utilicen
"register_function()" no están afectados.

Esta vulnerabilidad no afecta al servidor de aplicaciones ZOPE, ya que
dispone de su propia implementación XMLRPC. Tampoco afecta a otros
sistema RPC Python, como Pyro o las diversas implementaciones CORBA
disponibles.

El equipo Python ha publicado la versión 2.3.5 de este intérprete,
solucionando la vulnerabilidad en cuestión y unos cincuenta problemas
menores adicionales.

La publicación de la versión 2.4.1 de Python es inminente también.
Hispasec recomienda a todos los usuarios de Python que actualicen a
dicha versión en cuanto sea oficial. Quien no pueda esperar, por
exportar servicios XMLRPC a clientes potencialmente maliciosos, disponen
de un parche público a tal efecto.

Los usuarios de Python 2.2, descatalogada, disponen también de un parche
para su sistema.


Jesús Cea Avión
jcea@hispasec.com


Más información:

PSF-2005-001 - SimpleXMLRPCServer.py allows unrestricted traversal
http://www.python.org/security/PSF-2005-001/

Python 2.3.5
http://www.python.org/2.3.5/

Parche para Python 2.3 y 2.4
http://www.python.org/security/PSF-2005-001/patch.txt

Parche para Python 2.2
http://www.python.org/security/PSF-2005-001/patch-2.2.txt

11.23 SimpleXMLRPCServer -- Basic XML-RPC server
http://docs.python.org/lib/module-SimpleXMLRPCServer.html

Python
http://www.python.org/

0 comentarios:

Publicar un comentario en la entrada