Según
un
reciente análisis realizado por el investigador Stephen Komal de Gotham
Digital Science, existe una
vulnerabilidad en el servidor Jetty que puede permitir extraer información sensible
del sistema. Se ven afectadas las versiones 9.2.3 a la 9.2.8 y la rama
9.3.x beta
Jetty es un servidor Web y
contenedor de 'servlets' basado en
Java. Se distribuye y usa en entornos de desarrollo como Eclipse, o multitud de
servidores de aplicaciones como JBoss, Apache Geronimo, Google GWT o App Engine
entre otros.
La vulnerabilidad JetLeak
(CVE-2015-2080) se debe a una incorrecta implementación de las peticiones
realizadas al módulo 'HttpParser' a
la hora de gestionar en detalle los eventos de error. Debido a esto, una petición
especialmente manipulada conseguiría recabar los últimos 16 bytes del búfer
compartido de peticiones, dentro de la respuesta HTTP 400. Lo que llevaría a mostrar
por tanto información sensible como Cookies, credenciales, correos y diversa
información del sistema.
Si entramos en detalle en la
vulnerabilidad, una petición realizada a un servidor ya actualizado y que
generara un error al utilizar caracteres incorrectos (no ASCII por ejemplo),
debería dar una respuesta HTTP 400 similar a ésta:
HTTP/1.1 400 Illegal character 0x7
Content-Length: 0
Connection: close
Server:
Jetty(9.2.9.v20150224)
Mientras que en un servidor
vulnerable, ante esa misma petición especialmente manipulada daría como
resultado el volcado del buffer en la misma respuesta, de la siguiente manera:
HTTP/1.1 400 Illegal character 0x7 in
state=HEADER_IN_NAME in 'GET
/dummy/ HTTP/... localhost\nCoo\x07<<<kie: \x07\n\n>>>e:
application/x-...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Content-Length: 0
Connection: close
Server: Jetty(9.2.8.v20150217)
Como podemos comprobar, se
concatena información del buffer de 'debug'
y cualquier script modificado para realizar múltiples conexiones al servidor
podría ir recabando todo tipo de información sobre las últimas peticiones
hechas.
Se ha facilitado un script para
comprobar los servidores afectados:
O a través del siguiente listado
de versiones afectadas:
9.2.3.v20140905
9.2.4.v20141103
9.2.5.v20141112
9.2.6.v20141205
9.2.7.v20150116
9.2.8.v20150217
9.3.0.M0
9.3.0.M1
Se recomienda actualizar lo antes
posible a la versión 9.2.9:
Más información:
JetLeak Vulnerability: Remote Leakage Of Shared
Buffers In Jetty Web Server [CVE-2015-2080]
Jetleak Testing Script
CVE-2015-2080 : JetLeak Vulnerability Remote
Leakage of Shared Buffers in Jetty
HttpParser Error Buffer Bleed Vulnerability
Powered by Jetty
José Mesa Orihuela
No hay comentarios:
Publicar un comentario