Roee Hay (@roeehay), del equipo de IBM Application Security Research Group, ha publicado una vulnerabilidad en los sistemas Android que afectaría (al menos) a la versión 2.3.7 y permitiría la revelación de información sensible.
La vulnerabilidad se encontraría en unas incorrectas políticas de seguridad a la hora de gestionar y controlar el acceso a las bases de datos SQLite Journal del sistema.
Cuando se instala y ejecuta un programa, Android gestiona los datos generados para las aplicaciones que soporten SQLite guardándolos en la ruta:
/data/data//databases
Al utilizar SQLite, se producen una serie de ‘journals‘ o respaldos que generalmente poseen el nombre del programa más la extensión «–Journal«. El fallo es que no se limita correctamente el acceso a estos ficheros. Se ha comprobado el establecimiento de permisos de acceso totales, tanto de carpeta como de fichero para todos los usuarios. En concreto:
- La carpeta de datos de programa posee permisos de ejecución para todos los usuarios.
- El directorio: ‘/data/data//databases‘ posee permisos de lectura/escritura globales:
[rwxrwx–x]
- Y como los ‘journals‘ de la base de datos son creados en la carpeta ‘/databases‘ con permisos
[-rw-r–r–], éstos pueden ser leídos por cualquier aplicación.
Un atacante podría distribuir una aplicación especialmente manipulada que, utilizando SQLite, tendría acceso a los logs de historiales, chats, mensajes e incluso contraseñas.
Como demuestra la prueba de concepto (con código) y vídeo publicado por el investigador, se comprueba el acceso al historial y la caché del navegador:
La vulnerabilidad ya ha sido reportada y corregida por el del Android Security Team en la versión 4.0.1
Más información:
Android SQLite Journal Information Disclosure CVE-2011-3901
José Mesa Orihuela
Naaaa, Android vulnerable? naaaaa