Hoy en día, prácticamente cualquier aplicación o proyecto más o menos complejo debe hacer uso de bases de datos para ser capaz de gestionar toda la información, especialmente la relacionada con configuraciones o datos variables. Aunque cuando pensamos en bases de datos SQLite no es la primera opción que nos viene a la cabeza, un gran número de programas y proyectos de prestigiosos desarrolladores como Adobe, Google, Microsoft y Mozilla hacen uso de ella, por lo que, frente a un fallo de seguridad, el número de usuarios expuestos es considerable.
Según los investigadores de seguridad de KoreLogic, todas las aplicaciones y plataformas que utilicen una versión anterior a la 3.13.0 de SQLite están afectadas por un fallo de seguridad que puede comprometer los datos personales de los usuarios al no configurar los archivos temporales en una ruta segura.
Este fallo de seguridad se encontraba en la forma que utilizaba la herramienta para almacenar los datos temporales en el sistema. Por ello, en algunas ocasiones podía elegir una ruta insegura para almacenar estos archivos temporales en la unidad del sistema de manera que, si se daban varios fallos en las comprobaciones de SQLite, esta almacenaba los datos en la ruta «.» de la misma, la cual está asociada a la ruta actual. De esta manera, ciertas aplicaciones basadas en SQLite podían escribir datos en temporales con información sensible de los usuarios en ciertas unidades compartidas a través de SMB o NFS permitiendo a otros usuarios capturar la información generada fácilmente e incluso hacer que esta se guarde en una memoria USB externa, haciéndose directamente con el control de estos datos.
Entre los datos que se pueden almacenar en estos archivos temporales podemos destacar información sobre las webs que visitamos, los documentos que ejecutamos o los archivos que descargamos desde nuestro cliente Bittorrent favorito.
Actualizar todas las aplicaciones que utilicen SQLite es una tarea muy larga y complicada
La última versión de SQLite, la 3.13.0, publicada a finales de mayo soluciona este fallo de seguridad (y otros potenciales que también podían suponer un riesgo para la seguridad y privacidad de los usuarios), sin embargo, igual que ha ocurrido en otras ocasiones, la solución final de la vulnerabilidad no depende de los propios usuarios, sino que es tarea de los desarrolladores, quienes deben volver a compilar sus aplicaciones, o portarlas a la nueva versión, de manera que los problemas de seguridad queden resueltos, sin embargo, esta es una tarea muy complicada y que en la mayoría de las ocasiones (por ejemplo, software abandonado) no llega a ocurrir.
Igual que ha ocurrido en los últimos meses con vulnerabilidades como las de wget, Libarchive, 7-ZIP y Graphite, se demuestra una vez más lo complicado que es crear aplicaciones y plataformas que dependan a la vez de librerías multiplataforma y de código abierto, ya que lo que aparentemente puede parecer un código seguro para un sistema, en realidad puede no serlo para otro.
¿Crees que los desarrolladores deberían plantearse más el uso de librerías libres y multiplataforma para la creación de sus aplicaciones?
Os recomendamos leer nuestro tutorial sobre cómo borrar datos de personas de Internet.