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 (como confiesan "…We’ve been sitting on both of these patches for an embarassingly long time…") 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/

Opina sobre esta noticia:
http://unaaldia.hispasec.com/2012/08/postgresql-soluciona-grave.html#comments

Más información:

Security Update 2012-08-17 released
http://www.postgresql.org/about/news/1407/

Today’s Security Update: XML vulnerabilities
http://www.databasesoup.com/2012/08/todays-security-update-xml.html

Fuente:
José Mesa Orihuela
jmesa@hispasec.com
Laboratorio Hispasec
www.hispasec.com

Imagen:
Fotos Digitales Gratis
www.fotosdigitalesgratis.com

Logos/Imágenes MR Respectivas Compañías mencionadas en la noticia.
Portal de Seguridad Informática, Tecnología e Internet
Descargas Antivirus/Antimalware
www.antivirusgratis.com.ar