Mostrando entradas con la etiqueta Apache. Mostrar todas las entradas
Mostrando entradas con la etiqueta Apache. Mostrar todas las entradas

miércoles, 20 de septiembre de 2017

¿Es OptionsBleed el nuevo HeartBleed?

El investigador independiente Hanno Böck ha descubierto una vulnerabilidad en los servidores web Apache que permite el filtrado de fragmentos de memoria arbitrarios. Un comportamiento que nos recuerda a HeartBleed, famosa vulnerabilidad en OpenSSL de 2014.


Imagen tomada de The Fuzzing Project

Precisamente por este parecido la vulnerabilidad ha sido bautizada como OptionsBleed, también en honor al método OPTIONS de HTTP. Este es utilizado por un cliente web para recibir información sobre los métodos soportados por el servidor. Una petición OPTIONS normal debería devolver una respuesta de la forma:


Respuesta de una petición OPTIONS.

Pero, durante una investigación sobre los sitios con mayor posición de Alexa, Böck descubrió algunas respuestas a OPTIONS bastante peculiares. Los métodos se repetían, aparecían vacíos, y en algunas cabeceras se devolvía algo parecido a una fuga de memoria:


Respuesta OPTIONS de un servidor vulnerable.

Este comportamiento le hizo sospechar. Aunque no conocía el software especifico que devolvía estas respuestas, encontró fugas con fragmentos de configuraciones que parecían pertenecer a servidores Apache, y se puso en contacto con el equipo de desarrollo, que 
finalmente confirmaron la vulnerabilidad. 

Este error ha sido identificado como CVE-2017-9798 y ya existen parches para la mayoría de las versiones de Apache Web Server en Linux.


Teoría y práctica


Explotar OptionsBleed en teoría es sencillo: solo hay que realizar una petición OPTIONS al servidor para disparar la vulnerabilidad. En la práctica, la vulnerabilidad no es determinista, es decir, no devuelve siempre el mismo resultado dados los mismos datos de entrada. Por ello su reproducción es difícil.

Se sabe con seguridad que la vulnerabilidad es causada por un fallo en la implementación de la directiva Limit. Los métodos disponibles en el servidor (aquellos que la respuesta de OPTIONS comunica) se pueden establecer a nivel global en la configuración. Usando Limit, además, se puede limitar su uso por recurso, usando un fichero .htaccess.


Sintaxis de una directiva Limit.

El problema ocurre cuando establecemos una directiva Limit sobre un método que no hemos registrado en la configuración global. Es más, en general cualquier método no valido sobre el que se define esta directiva directiva en un fichero .htaccess provoca la fuga de información.

Aun localizado el problema, se deben dar ciertas condiciones para su explotación, y los detalles son bastante vagos. Según Böck en el FAQ de la vulnerabilidad:

Debido a su naturaleza, el fallo no aparece de forma determinista. Parece que solo se da en servidores ocupados. A veces aparece tras varias peticiones.

OptionsBleed no es HeartBleed


Más allá del parecido en el comportamiento, hay varias diferencias que hacen a OptionsBleed bastante menos peligroso que HeartBleed, la famosa vulnerabilidad en OpenSSL aparecida en 2014 con la que se le está comparando.

Por un lado, la superficie de exposición es menor. OptionsBleed solo afecta a servidores Apache Web Server. Por su parte HeartBleed afectaba a todo servidor con versiones de OpenSSL vulnerables, sin distinción entre web, email, o VPN. 

Además, es necesario tener una cierta configuración y que el servidor se encuentre en condiciones específicas para la explotación. Hay que tener en cuenta que en el estudio se ha conseguido explotar la vulnerabilidad en solo 466 servidores entre el Top 1 millón de Alexa. Además, de ser explotada, OptionsBleed devuelve un fragmento de menor longitud que HeartBleed.

Sin embargo, tiene un riesgo añadido: en servidores Apache compartidos, un usuario puede incluir un fichero .htaccess manipulado para facilitar deliberadamente la explotación y descubrir secretos del resto de usuarios.

Pero hay algo que sí tiene en común: pasaron desapercibidos durante bastante tiempo.



Francisco López
@zisk0
flopez@hispasec.com

Más información:



OpenSSL afectada por una vulnerabilidad apodada HeartBleed





lunes, 11 de septiembre de 2017

Apache Struts y los peligros de la teletransportación

Si alguna vez has visto algún episodio o película de Star Trek, te habrás fijado en algo muy característico, icónico, de la franquicia desde sus inicios: El uso de un teletransportador para la mayoría de los viajes entre la Enterprise y los muchos de sus inhóspitos destinos. Ahora, en nuestro tiempo, ese recurso no sería ni trending topic, pero en los años sesenta, chico, en los años sesenta ver a un vulcaniano con sus orejas puntiagudas emerger de la nada en medio de un festival de luces estroboscópicas era una auténtica revolución. Allí no había ni mota de polvo y de pronto, zas, aparecía un tipo con todos sus átomos en su sitio, tricorder incluido, un paseito cuántico sin importancia; con vistas al universo.

Curiosamente, ese "truco" de escena les sirvió para recortar presupuesto, puesto que de ese modo se ahorraban las secuencias de despegue-aterrizaje de una hipotética lanzadera o método similar. Evidentemente, hacía falta hipotecar nuestra imaginación para no romper la suspensión de la incredulidad, o ensanchar nuestra cintura científica para pasar por alto el quebrantamiento de varias leyes de la física. Pero oiga, ¿no resulta atrevido pensar en un sistema que  descomponga la materia, la haga viajar a la velocidad de la luz y la vuelva a recomponer sin riesgo alguno en el otro extremo?




Pues bien, eso es lo que hace la serialización de objetos. Descomponer un objeto en un extremo, transmitir esos datos y recomponerlos en el destino. La magia de la computación distribuida. Solo que de momento tenemos un problemilla: no es tan segura como el teletransportador del Enterprise y en vez de recomponer un objeto seguro y fiable se nos puede colar una bomba de resina de Trilithium con pinta de inocente objeto que transporta de forma diligente las preferencias del usuario.

Eso es lo que ha pasado últimamente con una vulnerabilidad en el framework Struts de la fundación Apache. Se trata de un conocido proyecto muy usado en aplicaciones web para J2EE. O de otra forma, un framework que usa la mayoría de grandes empresas en sus desarrollos bajo la plataforma y lenguaje Java. Aunque Struts tiene ya sus años (fue pionero en este ámbito), y no tiene el tirón que tuvo en su día, todavía se sigue usando en muchas instalaciones, algunas de ellas gestionando recursos bastante valiosos para estas empresas. 

Tal es el caso que nos ocupa, el de Equifax, una empresa de valoración de crédito que ha sido atacada supuestamente usando la mencionada vulnerabilidad. Hasta 143 millones de registros podrían haber sido extraídos de sus archivos y bases de datos por un grupo atacante. En un ambiente en el que la gestión de este incidente ha sido muy discutida, la fundación Apache ha emitido un comunicado explicando algo que se puede resumir en una sola frase: "si usas software y ha salido un parche de seguridad, PARCHEA, YA!". Evidente, pero que por desgracia hay que repetir continuamente. 

La vulnerabilidad ha sido descubierta por Man Yue Mo, de la empresa lgtm. El fallo estaba en la clase ContentTypeHandler, un interfaz muy básica pero potente que permite serializar y deserializar objetos desde el objeto raíz de la API de Java, el objeto Object. Esto permite a cualquier clase que herede una implementación de dicha interfaz poseer la funcionalidad para usar serialización (en palabras trekkies, de usar el teletransportador).  Para que nos entendamos, un cliente contacta con un servidor y le dice "te voy a enviar un objeto serializado en formato XML", el servidor lo recibe, interpreta el XML del cliente a través de una instancia del objeto XStreamHandler...y como este hereda de ContentTypeHandler...no se detiene a comprobar si el XML donde yace el objeto inerte contiene o no un método peligroso. 

Como curiosidad, se ha dicho que el bug tiene o puede tener 8 años de antigüedad, pero esto es relativo y no debería ocasionar sorpresa. Ahora mismo hay cientos de bugs peligrosos que están ahí, esperando a ser descubiertos, el problema no es no verlos, sino quien los ve y que hace con él. En una imagen:



Si nos fijamos en la línea de tiempo del investigador, las fechas coinciden:



Vemos los cambios realizados a nivel de API, coincidiendo con el estilo, filosofía y formas Java: añadiendo una capa (más) de abstracción:




Y como ahora, con la nueva llamada a la API se comprueban ciertos permisos que deben figurar para serializar objetos con una mejora en la seguridad (vamos a omitir decir, de manera completamente segura):




Huelga decir que a las pocas horas de hacerse pública la vulnerabilidad comenzaron a salir exploits y pruebas de concepto, incluyendo, como no, un módulo para metasploit. Si se quiere tener una visión técnica más directa sobre cómo se arquitecta un exploit para esta vulnerabilidad podemos leer el código de este repositorio de GitHub, donde se ha publicado un exploit stand-alone para explotar el fallo por Mazin Ahmed. Ojo, no recomendamos que ejecutes este o cualquier exploit. 

Por ejemplo, vemos cómo en dicho exploit se nos pide el comando que queremos ejecutar en el sistema remoto. Este irá codificado en XML, con la etiqueta que describe su tipo, "string":


A su vez, más adelante, el comando va incrustado en una plantilla que sirve para describir completamente el objeto a serializar (siempre será el mismo, solo cambia el comando):


Hay algo más, ya por curiosidad, no lo comenta pero como post-explotación, tras asegurarse de que es explotable utiliza partes de ysoserial, un framework que ha crecido recopilando vulnerabilidades de este tipo, serialización, en el ámbito de la plataforma Java, por ejemplo:


Es una codificación base64, luego:



Interesantísima forma de explotación, aunque viene a rubricar de nuevo uno de los principios universales de la seguridad informática: jamás dar por bueno lo que llega del usuario. Ni aunque sea un vulcaniano de orejas puntiagudas y buenas intenciones.




David García
dgarcia@hispasec.com


Más información

Remote code execution vulnerability in Apache Struts (CVE-2017-9805)



miércoles, 21 de junio de 2017

Nuevas versiones de Apache HTTP Server corrigen diversas vulnerabilidades

Apache Software Foundation ha publicado nuevas versiones del servidor web Apache destinadas a solucionar cinco vulnerabilidades importantes que podrían permitir a un atacante evitar restricciones de seguridad o provocar condiciones de denegación de servicio.

Apache es el servidor web más popular del mundo, usado por cerca de la mitad de los sitios web, disponible en código fuente y para infinidad de plataformas, incluyendo diversas implementaciones de UNIX, Microsoft Windows , OS/2 y Novell NetWare.

El primer problema reside en el uso de ap_get_basic_auth_pw() por módulos de terceras partes fuera de la fase de autenticación uqe podría dar lugar a que un atacante pueda evitar los requisitos de autenticación (CVE-2017-3167).

También se corrigen vulnerabilidades de denegación de servicio por desreferencia de puntero nulo en mod_ssl cuando otros módulos llaman ap_hook_process_connection() durante una petición HTTP a un puerto HTTPS (CVE-2017-3169). Y por otras dos sobrelecturas  de búfer en ap_find_token() (con CVE-2017-7668) y mod_mime (CVE-2017-7679).

Por último, una denegación de servicio por desreferencia de puntero nulo (CVE-2017-7659) en mod_http2 a través de peticiones http/2 maliciosas, que solo afecta a Apache 2.4.25.

El equipo de Apache recomienda a los usuarios de la rama 2.2 actualizar a la rama 2.4, a la versión 2.4.26 que además incluye nuevas funcionalidades y mejoras. Esta versión 2.2.33 se considera como versión de mantenimiento y se ofrece para aquellos usuarios que no puedan actualizar a la rama 2.4 en este momento.

Se han publicado parches individuales para la versión 2.2.33 para cada una de las vulnerabilidades:

Las nuevas versiones Apache 2.4.26 como 2.2.33 están disponibles desde:

Más información:

Apache httpd 2.4.26 Released 2017-06-19¶

Fixed in Apache httpd 2.2.33-dev

Fixed in Apache httpd 2.4.26

Changes with Apache 2.4.26

CVE-2017-3167: Apache httpd 2.x ap_get_basic_auth_pw authentication bypass

CVE-2017-3169: Apache httpd 2.x mod_ssl null pointer dereference

CVE-2017-7668: Apache httpd 2.x ap_find_token buffer overread

CVE-2017-7679: Apache httpd 2.x mod_mime buffer overread

CVE-2017-7659: mod_http2 null pointer dereference

Antonio Ropero
Twitter: @aropero


viernes, 14 de abril de 2017

Solucionadas tres vulnerabilidades en servidores Apache Tomcat

La Apache Software Foundation ha corregido tres vulnerabilidades importantes que afectan a las ramas 6, 7, 8 y 9 de Apache Tomcat, y que podrían permitir a atacantes provocar condiciones de denegación de servicio o la obtención de información sensible.

Apache Tomcat es un servidor web que funciona como contenedor de servlets, desarrollado en código abierto por Apache Software Foundation. Tomcat implementa las especificaciones de las tecnologías servlets Java y de páginas JSP.

La primera vulnerabilidad, calificada como "importante", reside en un fallo en el tratamiento de peticiones entubadas que podría permitir la obtención de información sensible (CVE-2017-5647). Afecta a las versiones 6.0.0 a 6.0.52, 7.0.0 a 7.0.76, 8.0.0.RC1 a 8.0.42, 8.5.0 a 8.5.12 y 9.0.0.M1 a 9.0.0.M18.

Por otra parte, con CVE-2017-5651, la refactorización de los conectores HTTP para versiones 8.5.x en adelante introdujo una regresión en el tratamiento del envío de archivos cuando se completa rápidamente. Afecta a versiones 8.5.0 a 8.5.12 y 9.0.0.M1 a 9.0.0.M18.

Por último, con CVE-2017-5650, el tratamiento de un frame HTTP/2 GOAWAY para una conexión no cierra los flujos asociados con esa conexión que estaban esperando un WINDOW_UPDATE antes de permitir que la aplicación escriba más datos. Un cliente malicioso podría construir una serie de peticiones HTTP/2 que consuman todos los hilos disponibles. Afecta a versiones 9.0.0.M1 a 9.0.0.M18 y 8.5.0 a 8.5.12.

El fabricante recomienda a los usuarios que actualicen a las versiones 9.0.0.M19, 8.0.43, 8.5.13, 7.0.77 o 6.0.53, disponibles desde:

Más información:

Fixed in Apache Tomcat 9.0.0.M19

Fixed in Apache Tomcat 8.0.43

Fixed in Apache Tomcat 8.5.13

Fixed in Apache Tomcat 7.0.77

Fixed in Apache Tomcat 6.0.53


Antonio Ropero

Twitter: @aropero

viernes, 10 de marzo de 2017

Vulnerabilidad crítica en Apache Struts

Se ha confirmado una vulnerabilidad en el proyecto Apache Struts que podría permitir a un atacante remoto ejecutar código arbitrario en los sistemas afectados. El problema se agrava por la existencia de una prueba de concepto pública que se está aprovechando en ataques de forma activa.

Struts es un entorno de trabajo de código abierto para el desarrollo de aplicaciones web en Java EE bajo el patrón MVC (Modelo Vista Controlador). Desarrollado por la Apache Software Foundation, en un primer momento formaba parte del proyecto Jakarta, convirtiéndose en proyecto independiente en 2005.

En esta ocasión ha sido el equipo de Cisco Talos el que ha alertado de la existencia de ataques aprovechando esta vulnerabilidad de forma activa. El problema, considerado de gravedad alta (con CVE-2017-5638), es una ejecución remota de código que afecta al analizador Jakarta Multipart de Apache Struts. Si el valor de Content-Type no es válido se genera una excepción que se utiliza para mostrar un mensaje de error a un usuario, de esta forma el atacante puede modificar la cabecera Content-Header para inyectar comandos de sistema operativo en el servidor.

Se confirma la posibilidad de ejecución de comandos simples (como, whoami) de forma sencilla, pero también se pueden ejecutar comandos más sofisticados, incluyendo el despliegue de un ELF malicioso y su ejecución.

Uno de los ejemplos de la vulnerabilidad para ejecutar un simple comando Linux. Fuente: Cisco Talos

La forma más sencilla para evitar las vulnerabilidades es actualizar a Apache Struts versiones 2.3.32 o 2.5.10.1; disponibles desde:

Más información:

Content-Type: Malicious - New Apache Struts2 0-day Under Attack

Possible Remote Code Execution when performing file upload based on Jakarta Multipart parser.



Antonio Ropero
Twitter: @aropero

sábado, 26 de noviembre de 2016

Solucionadas tres vulnerabilidades en servidores Apache Tomcat

The Apache Software Foundation ha corregido tres vulnerabilidades importantes que afectan a las ramas 6, 7, 8 y 9 de Apache Tomcat, y que podrían permitir a atacantes provocar condiciones de denegación de servicio, ataques cross-site scripting o la ejecución remota de código.  

Apache Tomcat es un servidor web que funciona como contenedor de servlets, desarrollado en código abierto por Apache Software Foundation. Tomcat implementa las especificaciones de las tecnologías servlets Java y de páginas JSP.

La primera vulnerabilidad, calificada como "importante", reside en que JmxRemoteLifecycleListener no se actualizó para incluir la corrección de Oracle para CVE-2016-3427. Por ello, las instalaciones de Tomcat que utilicen este Listener siguen siendo siendo vulnerables a una vulnerabilidad de ejecución remota de código. Según Apache son pocas las instalaciones que utilizan este Listener. Afecta a versiones 6.0.0 a 6.0.47, 7.0.0 a 7.0.72, 8.0.0.RC1 a 8.0.38, 8.5.0 a 8.5.6 y 9.0.0.M1 a 9.0.0.M11

Por otra parte, con CVE-2016-6817, una denegación de servicio debida a que el tratamiento de cabeceras HTTP/2 entra en un bucle infinito si se recibe una cabecera de gran tamaño. Afecta a 8.5.0 a 8.5.6 y 9.0.0.M1 a 9.0.0.M11.

Por último, con CVE-2016-6816, el código que trata la petición http permite caracteres no válidos. Esto podría emplearse junto con un proxy que también permita caracteres no válidos inyectar datos en la respuesta http. Esto podría permitir envenenar la caché web, obtener información sensible o realizar ataques XSS. Afecta a versiones 6.0.0 a 6.0.47, 7.0.0 a 7.0.72, 8.0.0.RC1 a 8.0.38, 8.5.0 a 8.5.6 y 9.0.0.M1 a 9.0.0.M11

El fabricante recomienda a los usuarios que actualicen a las versiones 9.0.0.M13, 8.0.39, 8.5.8, 7.0.73 o 6.0.48, disponibles desde:

Más información:

Fixed in Apache Tomcat 9.0.0.M13

Fixed in Apache Tomcat 8.0.39

Fixed in Apache Tomcat 8.5.8

Fixed in Apache Tomcat 7.0.73

Fixed in Apache Tomcat 6.0.48



Antonio Ropero

Twitter: @aropero

lunes, 17 de octubre de 2016

Anunciadas vulnerabilidades en OpenOffice

Se han anunciado dos vulnerabilidades en OpenOffice que podría llegar a permitir la ejecución remota de código arbitrario.

Apache OpenOffice es una suite ofimática de código abierto y gratuita. Cuenta con aplicaciones de hojas de cálculo (Calc), procesador de textos (Writer), bases de datos (Base), presentaciones (Impress), gráficos vectorial (Draw), y creación y edición de fórmulas matemáticas (Math).

La primera vulnerabilidad, identificada como CVE-2016-6803, reside en el instalador de Apache OpenOffice para Windows por una ruta de búsqueda Windows sin comillas, lo que podría permitir la ejecución de software no deseado por una aplicación troyanizada.

Por otra parte, con CVE-2016-6804, otra vulnerabilidad en el instalador para Windows que podría permitir la carga de una dll falsa y de esa forma lograr ejecutar código arbitrario con privilegios elevados.

Se ven afectadas todas las versiones de OpenOffice 4.1.2 y anteriores, también afectan a OpenOffice.org. Estas vulnerabilidades están corregidas en OpenOffice 4.1.3. Se encuentra disponible para su descarga desde la página oficial.

Más información:

Windows Installer Can Enable Privileged Trojan Execution

Windows Installer Execution of Arbitrary Code with Elevated Privileges

  

Antonio Ropero
Twitter: @aropero

martes, 26 de julio de 2016

Anunciada una vulnerabilidad en OpenOffice

Se ha anunciado una vulnerabilidad en OpenOffice que podría llegar a permitir la ejecución remota de código arbitrario.

OpenOffice es una suite ofimática de código abierto y gratuita. Cuenta con aplicaciones de hojas de cálculo (Calc), procesador de textos (Writer), bases de datos (Base), presentaciones (Impress), gráficos vectorial (Draw), y creación y edición de fórmulas matemáticas (Math).

La vulnerabilidad, identificada como CVE-2016-1513, fue reportada por el equipo de seguridad de Cisco Talos. El fallo reside en una lectura y escritura fuera de límites al tratar archivos .OTP (plantillas de presentación) y .ODP (Presentaciones OpenDocument) con elementos de presentación MetaPolyPolygonAction cuando el documento se carga en Apache OpenOffice Impress. Un documento específicamente manipulado podría permitir a un atacante provocar una denegación de servicio o la posible ejecución de código arbitrario.

Se ven afectadas todas las versiones de OpenOffice 4.1.2 y anteriores. En la actualidad no existe actualización en forma de descarga disponible.
Aunque se ha publicado un parche en forma de código disponible en el repositorio:

Más información:

Memory Corruption Vulnerability (Impress Presentations)

OpenOffice Impress MetaActions Arbitrary Read Write Vulnerability



Antonio Ropero

Twitter: @aropero

lunes, 11 de julio de 2016

Salto de certificados en Apache con HTTP/2

Se ha anunciado una vulnerabilidad en el servidor web Apache HTTPD (versiones 2.4.18-2.4.20) por la que se salta la validación de certificados cliente X509 cuando hace uso del módulo experimental HTTP/2.

Apache es el servidor web más popular del mundo, usado por más del 52% de los sitios web, disponible en código fuente y para infinidad de plataformas, incluyendo diversas implementaciones de UNIX, Microsoft Windows, OS/2 y Novell NetWare.

En la versión 2.4.17 de Apache HTTP Server se introdujo como función experimental el módulo mod_http2 para el soporte del protocolo HTTP/2. El problema, con CVE-2016-4979, reside en que el servidor web Apache HTTPD no valida los certificados de cliente X509 correctamente cuando se utiliza este módulo para acceder a un recurso. El resultado es que se puede acceder a un recurso que requiere un certificado de cliente válido sin dicha credencial.

Hay que señalar que el impacto es muy limitado, ya que este módulo está compilado ni se activa por defecto (aunque alguna distribución sí pueda hacerlo). Generalmente necesita activarse en la línea de Protocols del archivo de configuración de Apache agregando "h2" y/o "h2c" al "http/1.1".

Se ha publicado la versión 2.4.23 del servidor web Apache que soluciona esta vulnerabilidad, disponible desde:

Más información:

CVE-2016-4979: HTTPD webserver - X509 Client certificate based authentication can be bypassed when HTTP/2 is used [vs]

Apache HTTP Server 2.4.23 Released

Apache httpd 2.4 vulnerabilities



Antonio Ropero
Twitter: @aropero

domingo, 5 de junio de 2016

Actualización de seguridad para Apache Struts

Apache ha confirmado dos vulnerabilidades en el proyecto Apache Struts que podrían permitir a un atacante remoto provocar condiciones de denegación de servicio o lograr ejecutar código arbitrario.

Struts es un entorno de trabajo de código abierto para el desarrollo de aplicaciones web en Java EE bajo el patrón MVC (Modelo Vista Controlador). Desarrollado por la Apache Software Foundation, en un primer momento formaba parte del proyecto Jakarta, convirtiéndose en proyecto independiente en 2005.

El primer problema, considerado de gravedad alta (con CVE-2016-3087), reside en la posibilidad de pasar una expresión maliciosa que podría emplearse para ejecutar código arbitrario en el lado del servidor al usar el plugin REST con Dynamic Method Invocation activo.

Por otra parte, con CVE-2016-3093, el lenguaje de expresiones OGNL (Object Graph Navigation Language) empleado por el framework de Apache Struts tiene una implementación inadecuada de la caché utilizada para almacenar las referencias a métodos. Es posible preparar un ataque de denegación de servicio que impida el acceso a un sitio web.

La forma más sencilla para evitar las vulnerabilidades es actualizar a Apache Struts versiones 2.3.20.3, 2.3.24.3, 2.3.28.1 o a Apache Struts 2.5; disponibles desde:

Más información:

Two security vulnerabilities reported

S2-033 Remote Code Execution can be performed when using REST Plugin with ! operator when Dynamic Method Invocation is enabled

S2-034 OGNL cache poisoning can lead to DoS vulnerability


Antonio Ropero
Twitter: @aropero



martes, 22 de diciembre de 2015

Actualización de seguridad de Subversion

Apache ha publicado Subversion 1.8.15 y 1.9.3 destinadas a solucionar una vulnerabilidad que podrían permitir provocar denegaciones de servicio o posiblemente llegar a ejecutar código arbitrario.

Subversion es un sistema de control de versiones Open Source, que en la actualidad pertenece a la Apache Software Foundation. Utiliza el concepto de revisión para guardar los cambios producidos en el repositorio, además de proporcionar un entorno eficiente y muy flexible.

El problema, con CVE-2015-5343, reside en un desbordamiento de búfer basado en heap y una lectura fuera de límites provocada por un desbordamiento de entero al analizar cuerpos de peticiones skel-encoded. Esto podría permitir a atacantes con permisos de escritura en un repositorio provocar una denegación de servicio o posiblemente ejecutar código arbitrario bajo el contexto del proceso httpd. Los servidores con versiones 32-bits se ven afectados por ambos problemas, mientras que las versiones de servidor 64-bits solo son vulnerables a los ataques de denegación de servicio.

Apache ha publicado las versiones 1.8.15 y 1.9.3 que solucionan este problema, y otros fallos no relacionados con problemas de seguridad, disponibles desde:

Más Información:

[ANNOUNCE] Apache Subversion 1.8.15 released

[ANNOUNCE] Apache Subversion 1.9.3 released

Remotely triggerable heap overflow and out-of-bounds read in mod_dav_svn caused by integer overflow when parsing skel-encoded request bodies.

Version 1.8.15

Version 1.9.3


                                                                                                  
Antonio Ropero
Twitter: @aropero


jueves, 28 de mayo de 2015

Vulnerabilidad en Apache Cordova permite manipular aplicaciones Android

Se ha confirmado la existencia de una vulnerabilidad en el framework Apache Cordova que podría permitir a un atacante modificar el comportamiento de aplicaciones Android solo con pulsar un enlace. El alcance puede variar desde inyectar textos o popups, modificar funcionalidades básicas o inutilizar la aplicación.

Apache Cordova es un framework de licencia libre, desarrollado por la Apache Software Foundation, que incluye un gran número de APIs de diferentes dispositivos móviles. Cada vez es más usado por desarrolladores de aplicaciones móviles para acceder a funciones nativas de los dispositivos, como la cámara o el acelerómetro, empleando tecnologías web como HTML, CSS y JavaScript. El servicio es compatible con iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada y Symbian.

Trend Micro ha descubierto esta vulnerabilidad (con CVE-2015-1835) calificada como de gravedad alta y que afecta a todas las versiones de Apache Cordova hasta la 4.0.1. Esto significa que la mayoría de aplicaciones basadas en Cordova, que vienen a representar un 5,6% de todas las aplicaciones en Google Play, son propensas a sufrir un ataque.

Apache ha publicado un boletín de seguridad que confirma la vulnerabilidad, que podría permitir a un atacante modificar el comportamiento de aplicaciones Android a través de un exploit remoto si la víctima pulsa sobre un enlace malicioso.

La vulnerabilidad reside en la ausencia de valores explícitos establecidos en Config.xml en las aplicaciones Android desarrolladas con Cordova y a una característica que permite que las preferencias se puedan establecer desde fuera de la aplicación. Esta característica fue parte de una actualización de código publicada en noviembre de 2010, junto con la actualización de Cordova Android 0.9.3. Pero esto podrá permitir a un atacante inyectar contenido malicioso para alterar las características de la aplicación, bien desde servidores web remotos o desde aplicaciones locales comprometidas.

Trend Micro ha publicado una prueba de concepto y varios vídeos que muestran como basta acceder a una página web con el navegador para provocar diversos efectos, según las preferencias de la aplicación modificadas. En este ejemplo se muestra como se inyecta un cuadro de diálogo no deseado:

Otros vídeos muestran como insertar una pantalla de inicio, alterar el color de fondo de la aplicación basada en Córdova, manipular la configuración de pantalla de la aplicación o modificar la función básica del botón de volumen.

Apache recomienda que todas las aplicaciones desarrolladas con Cordova 4.0.x (o superior) se actualicen para usar la nueva versión 4.0.2 de Cordova Android. En caso de usar una versión anterior de Cordova, se recomienda la actualización del proyecto para usar la nueva versión 3.7.2, que también corrige el problema. Esta vulnerabilidad solo afecta a las aplicaciones Android, por lo que otras plataformas no necesitan actualizarse.

Más información:

Apache Cordova

Trend Micro Discovers Apache Cordova Vulnerability that Allows One-Click Modification of Android Apps

Apache Cordova Android 4.0.2 and 3.7.2 released


Antonio Ropero
Twitter: @aropero

viernes, 3 de abril de 2015

Actualización de seguridad de Subversion

Apache ha publicado Subversion 1.8.13 destinada a solucionar tres vulnerabilidades que podrían permitir provocar denegaciones de servicio o falsificar contenido.

Subversion es un sistema de control de versiones Open Source, que en la actualidad pertenece a la Apache Software Foundation. Utiliza el concepto de revisión para guardar los cambios producidos en el repositorio, además de proporcionar un entorno eficiente y muy flexible.

El primer problema está relacionado con el tratamiento de peticiones REPORT puede permitir a un atacante remoto consumir la memoria en servidores HTTP Subversion con repositorios FSFS (CVE-2015-0202).

Una segunda vulnerabilidad de denegación de servicio remota reside en mod_dav_svn y svnserve al tratar determinadas peticiones con números de revisión dinámicamente evaluados (CVE-2015-0248).

Por último, con CVE-2015-0251, una vulnerabilidad en servidores HTTP Subversion permiten falsificar los valores de svn:author en nuevas revisiones.

Apache ha publicado la versión 1.8.13 que soluciona estos problemas, y otros fallos no relacionados con problemas de seguridad, disponible desde:

Más Información:

Apache Subversion 1.8.13 released

Subversion HTTP servers with FSFS repositories are vulnerable to a remotely triggerable excessive memory use with certain REPORT requests.

Subversion mod_dav_svn and svnserve are vulnerable to a remotely triggerable assertion DoS vulnerability for certain requests with dynamically evaluated revision numbers.

Subversion HTTP servers allow spoofing svn:author property values for new revisions.



Antonio Ropero
Twitter: @aropero