El
motor de bases de datos PostgreSQL ha "corregido"
recientemente dos vulnerabilidades
en los procesadores de documentos XML/XSLT, que permitirían a un atacante
remoto autenticado en la base de datos tener
acceso a ficheros del sistema y alterarlos. Finalmente ha decidido desactivar
estas funciones en el parche, puesto que no ha dado con una solución mejor.
La vulnerabilidad se encontraría
en un fallo en las políticas de seguridad
de las librerías libxslt y libxml2 que permitirían la importación de manera
insegura de DTDs (Definición de Tipo de Documento) externos.
En el caso de libxslt, el fallo
está en la función xmlparse(). Un atacante podría llegar a leer ficheros a los
que el usuario local "postgres"
tenga acceso (CVE-2012-3488).
Entre estos ficheros está pg_hba.conf (configuración de acceso de usuario) o
.pgpass (clave de usuario), lo que la hacen especialmente grave.
En el caso de libxml2, la función
xslt_process() permitiría la subida de ficheros al propio servidor (CVE-2012-3489).
Este módulo es opcional. Los usuarios pueden usar XML2 en vez del XML "incrustado" porque soporta XSLT.
Debido a la gravedad de estos
fallos, en el parche se ha bloqueado la importación externa de DTDs de manera
global, funcionalidad que al quedar desactivada en PostgreSQL podría afectar a
diversas aplicaciones. La función xslt_process() para importar documentos o
esquemas externos también ha quedado desactivada como medida de seguridad y no
volverá a activarse, igualmente ocurre con xmlparse(), hasta que se consiga un método
más seguro de ejecución.
Esta vulnerabilidad es similar a
las sufridas por LibreOffice (ataque XXE a través de RDF/XML - (CVE-2012-0037),
Webkit (CVE-2011-1774),
XMLsec (CVE-2011-1425)
y PHP5 (CVE-2012-0057).
De hecho, aclaran que si
finalmente han tardado tanto en
solucionar esto fallo, es porque han
intentado hacerlo sin desactivar la funcionalidad... pero no ha sido posible.
Se recomienda urgentemente actualizar las versiones afectadas por
las actualizaciones oficiales disponibles (9.1.5, 9.0.9, 8.4.13 y 8.3.20) a través
de: http://www.postgresql.org/download/
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.