Normalmente, la mayoría de vulnerabilidades que aparecen en los sistemas operativos son publicadas después de haber sido parcheadas. Sin embargo, ahora se han publicado de golpe 9 vulnerabilidades de Android, donde algunas de ellas no están parcheadas todavía; ni siquiera en los que tienen Android 9 Pie.
9 graves vulnerabilidades presentes en Android afectan a móviles con hasta Android 9 Pie
Descubiertas por investigadores de China y Singapur, las 9 vulnerabilidades son de nivel crítico y afectan al sistema VoIP de Android. A través de ellas, un atacante puede cancelar llamadas, suplantar la identidad del emisor de la llamada, realizar llamadas a números de pago, realizar ataques DDoS, y ejecutar código de forma remota. La vulnerabilidad funciona en dispositivos con Android 7, 8 y 9, aunque no han confirmado si funciona también en 10.
La tecnología VoIP es la que permite realizar llamadas, enviar SMS o fax a través de paquetes por Internet. En Android encontramos también soporte para los estándares VoLTE y VoWiFi, donde podemos hacer llamadas a través de paquetes por LTE o por WiFi, continuando una llamada por WiFi incluso si dejamos de tener cobertura móvil.
Los investigadores descubrieron las vulnerabilidades analizando en detalle el código de la seguridad usada por VoIP a nivel de sistema analizar los posibles canales de ataque. Así, consiguieron encontrar tres tipos de ataques: uno que requiere acceso físico al móvil, otro que requiere estar en la misma red, y otro que permite hacerlo incluso sin estar cerca del móvil, ya que funciona a través de las llamadas.
En total, son 9 vulnerabilidades las que consiguieron encontrar. 8 de ellas han sido reconocidas por Google y obtendrán una recompensa monetaria por ello, mientras que la otra afectaba a una aplicación de terceros. 7 de ellas han sido catalogadas como de gravedad “crítica” o “alta” por parte de Google.
Estas son las 9 vulnerabilidades
1. Maliciously Triggering a VoIP call in the VK App (Low)
La primera vulnerabilidad está presente en el vk.voip y en la existencia de un componente llamado LinkRedirActivity, que permite a un atacante hacer una llamada por VoIP a una cuenta de VK instalando la app en el móvil sin el permiso del usuario e incluso con la pantalla apagada. Esa cuenta puede estar en control de atacante, que puede mantener la llamada activa cuanto quiera para escuchar conversaciones.
2. Unauthorized Call Transfer in the IMS interface (Moderate)
La app del sistema QtilMS, implementada por Qualcomm, expone dos APIs (SendCallTransferRequest y SendCallForwardUncondTimer) a ser hackeadas. Ambas APIs son accesibles por una app con permisos para realizar llamadas. Sin embargo, el servicio QtilMS no comprueba los privilegios, por lo que el atacante puede realizar llamadas.
3. Undeniable VoIP call spam due to long SIP name (High)
La tercera vulnerabilidad permite realizar una llamada que no puede rechazarse, ya que hay se puede modificar el SIP para que el botón de llamada no aparezca en la pantalla. Este tipo de vulnerabilidad se conoce como “bomba VoIP”. La única manera de rechazarla es poner el móvil en modo avión u otro método para desconectarse de la red.
4. Remote DoS in Telephony once Accepting a call (High)
La cuarta vulnerabilidad consiste en un ataque DDoS que puede hacer que el móvil Android de la víctima se cuelgue al coger la llamada mediante la recepción de un archivo cfg.
5. Remote code execution due to stack buffer overflow (Critical)
La quinta vulnerabilidad puede aprovecharse por un atacante cuando el móvil está conectado a un dispositivo Bluetooth cercano. El desbordamiento de búfer se produce cuando un atacante nos llamada con un número de más de 513 bytes. Ahí, un atacante puede sobrescribir la dirección de la respuesta, pudiendo pasar a ejecutar código de forma remota.
6. Remote DoS in Bluetooth once Receiving a call (High)
Muy parecida a la anterior, esta vulnerabilidad se ejecuta cuando el estado de la llamada BTHF_CALL_INCOMING se cambia, y sólo cuando un dispositivo está conectado a otro por Bluetooth. Sólo es necesario que se reciba la llamada en lugar de responderla como ocurría con la cuarta. Para solucionar el fallo, es necesario restringir la longitud del número de una llamada en el módulo Bluetooth.
7. Data leak and Permanent DoS due to Path Traversal (High)
Esta vulnerabilidad permite a un atacante realizar un ataque DDoS permanente si la IP del servidor se configura para que sobreescriba otra aplicación del sistema. Al usar un archivo mmssms.db falso, el real no se puede crear y por tanto se bloquea la funcionalidad de enviar y recibir SMS. Es necesario hacer un factory reset al móvil para que vuleva a funcionar.
8. Caller ID spoofing Due to Mis-parsing “&” (High)
Con sólo introducir el carácter “&” a un número de teléfono, el PSTN (Public Switched Telephone Network) del móvil trata el número antes de ese carácter como el del emisor de la llamada, y todo el que venga después como el del receptor. Con ello, se puede realizar una llamada de spoofing haciéndose pasar por otro número.
9. Caller ID spoofing due to “phone-context” (High)
Por último, este ataque se aprovecha de otra inconsistencia que ocurre en el phone-context, que es lo que se usa para mencionar el prefijo de un número de teléfono. Google lo gestiona con el sistema de CalledID, que intenta cotejar si un número es de spam o es conocido. A raíz de ello, un atacante puede hacerse pasar por otro al realizar una llamada.
Las vulnerabilidades serán parcheadas por Google próximamente.