Se han descubierto 6 vulnerabilidades diferentes en las cámaras Canon DSLR, gracias al investigador de seguridad Eyal Itkin.

Estas vulnerabilidades se han destapado en el protocolo de transferencia de imágenes (Picture Transfer Protocol, PTP) y permiten la ejecución remota de código.
Las vulnerabilidades pueden explotarse de manera remota en las cámaras que permiten una conexión Wireless, es decir, una cámara podría ser atacada solo conectándose por una red WIFI.
Por otro lado, los dispositivos que no soportan conexión Wireless, pueden ser aprovechados los puertos con conexión USB, de esta manera permite al atacante ejecutar código malicioso en los dispositivos cuando se conectan por el ordenador.
Los investigadores estudiaron los 148 comandos soportados, analizaron el protocolo PTP de transferencia de imagen y obtuvieron una lista de 38 comandos que les daba la posibilidad de proporcionar un buffer como parámetro de entrada.

En el siguiente párrafo les mostraremos una lista con las vulnerabilidades y los comandos vulnerables:

  1. CVE-2019-5994. Buffer Overflow en el comando SendObjectInfo (código 0x100C)
  2. CVE-2019-5998. Buffer Overflow en el comando NotifyBtStatus (código 0x91F9)
  3. CVE-2019-5999. Buffer Overflow en el comando BLERequest (código 0x914C)
  4. CVE-2019-6000. Buffer Overflow en el comando SendHostInfo (código 0x91E4)
  5. CVE-2019-6001. Buffer Overflow en el comando SetAdapterBatteryReport (código 0x91FD)
  6. CVE-2019-5995. Vulnerabilidad en la actualización de firmware que permite la actualización silenciosa a un firmware malicioso

Gracias al trabajo de ingeniería inversa realizado, Itkin encontró una manera de cifrar ficheros almacenados en la tarjeta de memoria. De esta manera utilizan las mismas funciones criptográficas usadas por la cámara.

Si utilizas alguna de estas cámaras, es recomendable que actualices el firmware e intentes no conectar el dispositivo a redes de WIFI que no sean de tu entorno.

Estás vulnerabilidades fueron reportadas a canon el 31 de marzo y finales de Julio se publicó en Europa la versión firmware que corrige estos fallos (Versión 1.0.3).