Se han encontrado dos vulnerabilidades en Asterisk, ambas calificadas
como críticas, que podrían permitir a un atacante local o remoto causar
una denegación de servicio en los sistemas vulnerables.
Asterisk es una aplicación de una central telefónica (PBX) de código
abierto. Como cualquier PBX, se pueden conectar un número determinado de
teléfonos para hacer llamadas entre sí e incluso conectarlos a un
proveedor de VoIP para realizar comunicaciones con el exterior.
Asterisk es ampliamente usado e incluye un gran número de interesantes
características: buzón de voz, conferencias, IVR, distribución
automática de llamadas, etc. Además el software creado por Digium está
disponible para plataformas Linux, BSD, MacOS X, Solaris y Microsoft
Windows.
A continuación se explican con más detalle las vulnerabilidades
encontradas y corregidas:
* Por medio del envío masivo de peticiones POKE a un sistema vulnerable,
un atacante podría acaparar todos los números de llamada (líneas)
asociados con el protocolo IAX2, impidiendo el procesamiento del resto
de llamadas o peticiones, provocando una denegación de servicio.
El fallo está causado porque, de acuerdo con el protocolo IAX2, una vez que
el servidor recibe una petición de POKE, este mandaría una respuesta
PONG y se quedaría esperando por un paquete ACK con el mismo número de
llamada, manteniendo ocupada esa línea.
El problema ha sido solucionado
usando única y exclusivamente el número de llamada 1 (línea 1) para las
peticiones POKE y descartando los paquetes ACK para dicha línea.
El investigador que descubrió la vulnerabilidad hizo público un exploit
tan solo dos días después de informar al equipo de Digium acerca de la
misma y sin dar tiempo suficiente para la creación de un parche. A los
desarrolladores de Asterisk, que se enteraron de la existencia del
exploit por medio de terceras partes, no les ha gustado esta forma de
proceder y la han tachado de irresponsable al poner en riesgo la
usabilidad de los sistemas afectados.
* En cuanto a la segunda vulnerabilidad descubierta, está provocada por
la falta de un método de validación de destino (handshake) en el
protocolo usado para el envío de actualizaciones del firmware, y podría
permitir que un atacante remoto falsificase la dirección desde la que se
envía dicha petición, causando que el paquete de actualización mandado
por el servidor (con un tamaño de 1040 bytes) tuviera como destino una
dirección falsificada. Por medio de múltiples peticiones a distintos
servidores, un atacante remoto podría dirigir a un sistema una gran
cantidad de paquetes de actualización no deseados, causándole una
denegación de servicio.
A continuación se muestra una lista de los productos afectados por los
dos problemas de seguridad:
Asterisk Open Source 1.0.x, 1.2.x y 1.4.x.
Asterisk Business Edition A.x.x, B.x.x y C.x.x.
La versión pre-release de AsteriskNOW.
Asterisk Appliance Developer Kit 0.x.x.
s800i (Asterisk Appliance) 1.0.x.
como críticas, que podrían permitir a un atacante local o remoto causar
una denegación de servicio en los sistemas vulnerables.
Asterisk es una aplicación de una central telefónica (PBX) de código
abierto. Como cualquier PBX, se pueden conectar un número determinado de
teléfonos para hacer llamadas entre sí e incluso conectarlos a un
proveedor de VoIP para realizar comunicaciones con el exterior.
Asterisk es ampliamente usado e incluye un gran número de interesantes
características: buzón de voz, conferencias, IVR, distribución
automática de llamadas, etc. Además el software creado por Digium está
disponible para plataformas Linux, BSD, MacOS X, Solaris y Microsoft
Windows.
A continuación se explican con más detalle las vulnerabilidades
encontradas y corregidas:
* Por medio del envío masivo de peticiones POKE a un sistema vulnerable,
un atacante podría acaparar todos los números de llamada (líneas)
asociados con el protocolo IAX2, impidiendo el procesamiento del resto
de llamadas o peticiones, provocando una denegación de servicio.
El fallo está causado porque, de acuerdo con el protocolo IAX2, una vez que
el servidor recibe una petición de POKE, este mandaría una respuesta
PONG y se quedaría esperando por un paquete ACK con el mismo número de
llamada, manteniendo ocupada esa línea.
El problema ha sido solucionado
usando única y exclusivamente el número de llamada 1 (línea 1) para las
peticiones POKE y descartando los paquetes ACK para dicha línea.
El investigador que descubrió la vulnerabilidad hizo público un exploit
tan solo dos días después de informar al equipo de Digium acerca de la
misma y sin dar tiempo suficiente para la creación de un parche. A los
desarrolladores de Asterisk, que se enteraron de la existencia del
exploit por medio de terceras partes, no les ha gustado esta forma de
proceder y la han tachado de irresponsable al poner en riesgo la
usabilidad de los sistemas afectados.
* En cuanto a la segunda vulnerabilidad descubierta, está provocada por
la falta de un método de validación de destino (handshake) en el
protocolo usado para el envío de actualizaciones del firmware, y podría
permitir que un atacante remoto falsificase la dirección desde la que se
envía dicha petición, causando que el paquete de actualización mandado
por el servidor (con un tamaño de 1040 bytes) tuviera como destino una
dirección falsificada. Por medio de múltiples peticiones a distintos
servidores, un atacante remoto podría dirigir a un sistema una gran
cantidad de paquetes de actualización no deseados, causándole una
denegación de servicio.
A continuación se muestra una lista de los productos afectados por los
dos problemas de seguridad:
Asterisk Open Source 1.0.x, 1.2.x y 1.4.x.
Asterisk Business Edition A.x.x, B.x.x y C.x.x.
La versión pre-release de AsteriskNOW.
Asterisk Appliance Developer Kit 0.x.x.
s800i (Asterisk Appliance) 1.0.x.
0 comentarios:
Publicar un comentario