Impresoras atacadas por… fuentes

Examinamos cómo las populares impresoras Canon podrían convertirse en un punto de apoyo para los atacantes dentro de la red de una organización.

Hoy en día, los atacantes que investigan la infraestructura de una organización rara vez se encuentran con el lujo de una estación de trabajo sin un agente de EDR, por lo que los individuos malintencionados se están centrando en poner en riesgo servidores o dispositivos especializados conectados a la red con privilegios de acceso bastante amplios pero que carecen de protección EDR y, a menudo, incluso de capacidades de registro.

Ya hemos escrito en detalle sobre los tipos de dispositivos de oficina vulnerables. Los ataques del mundo real en 2025 se centran en dispositivos de red (como puertas de enlace VPN, firewalls y routers), sistemas de videovigilancia y los propios servidores.

Pero las impresoras tampoco deben pasarse por alto, tal como recordó el investigador independiente Peter Geissler a la audiencia en la Cumbre de Analistas de Seguridad 2025. Habló sobre una vulnerabilidad que había encontrado en las impresoras Canon (CVE-2024-12649, CVSS 9.8), que permite ejecutar código malicioso en estos dispositivos. Y el aspecto más interesante de vulnerabilidad es que para aprovecharse de ella solo hace falta enviar un archivo de aspecto inocente a imprimir.

Trojan Type Font: un ataque a través de CVE-2024-12649

El ataque comienza enviando un archivo XPS para imprimir. Este formato (creado por Microsoft) contiene todos los requisitos previos para imprimir documentos con éxito y sirve como una alternativa al PDF. XPS es esencialmente un archivo comprimido ZIP que contiene una descripción detallada del documento, todas sus imágenes y las fuentes utilizadas. Las fuentes generalmente se almacenan en el popular formato TTF (TrueType Font) inventado por Apple. Y es la propia fuente, algo que normalmente no se percibe como peligroso, lo que contiene el código malicioso.

El formato TTF fue diseñado para hacer que las letras se vean idénticas en cualquier medio y para que se adapten de forma correcta a cualquier tamaño, desde el carácter más pequeño en una pantalla hasta el más grande en un póster impreso.

Para lograr este objetivo, cada letra puede tener instrucciones de hinting de fuentes escritas para ella, que describen los matices de visualización de letras de tamaño pequeño.

En esencia, estas instrucciones son comandos para una máquina virtual compacta que, a pesar de su simplicidad, admite todos los componentes básicos de la programación: administración de memoria, saltos y bifurcaciones.

Geissler y sus colegas estudiaron cómo se implementa esta máquina virtual en las impresoras Canon. Han descubierto que algunas instrucciones de hinting de TTF se ejecutan de forma no segura. Por ejemplo, los comandos de la máquina virtual que administran la pila no verifican si hay un exceso.

Como resultado, han logrado crear una fuente maliciosa. Cuando un documento que lo contiene se imprime en ciertas impresoras Canon, provoca un desbordamiento de pila, escribe datos más allá de los búferes de la máquina virtual y, en última instancia, logra la ejecución del código en el procesador de la impresora. Todo el ataque se realiza a través del archivo TTF; el resto del contenido del archivo XPS es benigno. De hecho, detectar el código malicioso incluso dentro del archivo TTF es bastante difícil: no es muy largo, la primera parte contiene instrucciones de la máquina virtual de TTF y la segunda parte se ejecuta en el exótico sistema operativo exclusivo de Canon (DryOS).

Cabe señalar que, en los últimos años, Canon se ha centrado en proteger el firmware de la impresora. Por ejemplo, utiliza registros DACR e indicadores NX (no-execute) compatibles con procesadores ARM para limitar la capacidad de modificar el código del sistema o ejecutar código en fragmentos de memoria destinados únicamente al almacenamiento de datos.

A pesar de estos esfuerzos, la arquitectura general de DryOS no permite una implementación efectiva de mecanismos de protección de la memoria, como ASLR o stack canary, que son típicos de los sistemas operativos modernos más completos.

Por esto es que los investigadores encuentran formas de eludir la protección existente de vez en cuando. Por ejemplo, en el ataque del que estamos hablando, el código malicioso se ejecutó con éxito al colocarlo en un búfer de memoria destinado a un protocolo de impresión diferente (IPP) con el truco de TTF.

Escenario de aprovechamiento realista

En el boletín que describe la vulnerabilidad, Canon afirma que la vulnerabilidad se puede explotar de forma remota si es posible acceder a la impresora a través de Internet. En consecuencia, sugieren configurar un firewall para que la impresora solo se pueda usar desde la red interna de la oficina. Si bien este es un buen consejo y es cierto que la impresora debería quitarse del acceso público, este no es el único escenario de ataque.

En su informe, Peter Geissler apuntó a un escenario híbrido mucho más realista en el que el atacante envía a un empleado un archivo adjunto en un correo electrónico o a través de un servicio de mensajería instantánea y, con un pretexto u otro, sugiere que lo imprima. Si la víctima envía el documento a imprimir (dentro de la red de la organización interna y sin ninguna exposición a Internet) el código malicioso se ejecuta en la impresora.

Desde luego, las capacidades del malware cuando se ejecuta en la impresora serán limitadas en comparación con el malware que infecta un ordenador en toda regla. Sin embargo, podría, por ejemplo, crear un túnel al establecer una conexión con el servidor del atacante, lo que permitiría a los atacantes apuntar a otros ordenadores de la organización.

Otro caso de uso potencial de este malware en la impresora podría tener como resultado el reenvío de toda la información que se imprime en la empresa directamente al servidor del atacante. En ciertas organizaciones, como los bufetes de abogados, esto podría causar una filtración de datos grave.

Cómo defenderse de la amenaza de la impresora

La vulnerabilidad CVE-2024-12649 y varios defectos estrechamente relacionados se pueden eliminar instalando la actualización del firmware de la impresora de acuerdo con las instrucciones de Canon. Por desgracia, muchas organizaciones (incluso aquellas que actualizan diligentemente el software en ordenadores y servidores) carecen de un proceso sistemático para actualizar el firmware de la impresora. El proceso debe implementarse para todos los equipos conectados a la red informática.

Sin embargo, los investigadores de seguridad enfatizan que hay una multitud de vectores de ataque dirigidos a equipos especializados. Por lo tanto, no hay garantía de que los atacantes no se armen mañana con un exploit similar desconocido para los fabricantes de impresoras o sus clientes. Para minimizar el riesgo de aprovechamiento:

  • Segmenta la red, lo que limitará la capacidad de la impresora para establecer conexiones salientes y aceptar conexiones de dispositivos y usuarios no autorizados para imprimir.
  • Desactiva todos los servicios no utilizados en la impresora.
  • Establece una contraseña de administrador única y compleja en cada impresora/dispositivo.
  • Implementa un sistema de seguridad integral dentro de la organización, que incluya EDR instalado en todos los ordenadores y servidores, un firewall moderno y una supervisión de red completa basada en un sistema SIEM.
Consejos