DEV Community

Cover image for Ghostty 1.4.0 completa el protocolo Kitty y parcha 10 fallos de seguridad
lu1tr0n
lu1tr0n

Posted on Originally published at elsolitario.org

Ghostty 1.4.0 completa el protocolo Kitty y parcha 10 fallos de seguridad

Ghostty 1.4.0 ya deja animar imágenes Kitty completas, algo que ningún otro terminal fuera de Kitty había logrado hasta hoy.

La versión, publicada el 27 de octubre de 2026 por el equipo de Mitchell Hashimoto, suma siete meses de trabajo, 172 colaboradores y 2.889 commits, además de diez correcciones de seguridad.

TL;DR

  • Ghostty 1.4.0, publicado el 27 de octubre de 2026, completa el protocolo de gráficos Kitty con animación.- El emulador es el primer terminal fuera de Kitty en soportar placements relativos de imágenes.- La versión corrige 10 avisos de seguridad, incluidos fallos en el pegado y en el modo de control de tmux.- macOS 27 (Golden Gate) ya funciona sin los defectos visuales que tenía la beta 1.3.1.- Siete meses de desarrollo y 172 colaboradores producen 2.889 commits en este ciclo.

Qué es Ghostty

Ghostty es un emulador de terminal de código abierto escrito en Zig, creado por Mitchell Hashimoto, cofundador de HashiCorp, y lanzado públicamente en 2024. Renderiza con la GPU del sistema y usa los widgets nativos de cada plataforma en vez de Electron. La versión más reciente, Ghostty 1.4.0, añade el protocolo de gráficos Kitty completo.

El proyecto gana terreno frente a alternativas como iTerm2, Windows Terminal o Alacritty gracias a su renderizado por GPU y a funciones pensadas para terminales modernas: integración con shells vía SSH, soporte de temas Nerd Font y, desde esta versión, un protocolo de gráficos completo. Ghostty corre en Linux y macOS, y se instala mediante gestores de paquetes nativos como Homebrew, pacman o los repositorios de cada distribución.

Qué pasó con Ghostty 1.4.0

El equipo publicó la nueva release de Ghostty el 27 de octubre de 2026, tras siete meses de trabajo con 172 colaboradores y 2.889 commits. La lista de cambios cubre tres frentes: soporte para macOS 27 (nombre interno Golden Gate), el cierre total del protocolo de gráficos Kitty y diez correcciones de seguridad.

En macOS 27, las pestañas en la barra de título (con macos-titlebar-style = tabs) vuelven a alinearse correctamente, la barra de pestañas nativa ya no se dibuja como una franja gris sólida sobre el tema del usuario, y macos-titlebar-style = hidden deja de tapar las primeras líneas de la terminal cuando el sistema tiene activado Reducir transparencia. El ícono de la aplicación perdió también un borde delgado que arrastraba desde versiones anteriores. El terminal escrito en Zig sigue siendo compatible con versiones anteriores, desde macOS 13 (Ventura) en adelante.

Más allá de los titulares, las notas detallan mejoras de integración con SSH (el terminal reenvía mejor variables de entorno y configuración de temas al conectarse a un servidor remoto) y una reducción general del uso de memoria en sesiones largas con muchas pestañas abiertas. El equipo también resolvió decenas de reportes menores de renderizado acumulados desde la versión 1.3.1.
El ciclo sumó 2.889 commits de 172 colaboradores en siete meses de desarrollo.

Contexto e historia del proyecto

Mitchell Hashimoto, conocido por fundar HashiCorp (creador de Terraform y Vagrant), presentó Ghostty en público en 2024 tras años de desarrollo privado. El objetivo declarado fue construir una terminal rápida, multiplataforma y con soporte nativo de GPU, sin depender de frameworks como Electron. Desde entonces el proyecto pasó por las versiones 1.0 a 1.3.1, sumando funciones como integración con tmux, mejoras de SSH y soporte parcial del protocolo de gráficos de Kitty.

La elección de Zig no es casual: el lenguaje compila a binarios pequeños, no depende de un recolector de basura y facilita el control fino de memoria que un emulador de terminal necesita para dibujar miles de celdas de texto por segundo sin saturar la GPU. Esa base técnica es la que permitió, en esta release, bajar el consumo de memoria sin sacrificar funciones.

Ese soporte parcial del protocolo de gráficos generó fricción. Ghostty 1.3.0 y 1.3.1 quedaron expuestos a un fallo (GHSA-hcr9-7hcr-mjm8) que permitía cerrar todas las ventanas abiertas con solo mostrar texto malicioso en modo de control de tmux, sin que tmux estuviera siquiera instalado. La versión 1.4.0 corrige ese fallo y uno relacionado con paneles de tamaño cero (GHSA-hp9c-qp4q-cpw3), ambos heredados de esas dos versiones.

Detalles técnicos: cómo funciona el protocolo Kitty completo

El protocolo de gráficos de Kitty permite que un programa de terminal transmita datos de imagen directamente al emulador mediante secuencias de escape APC, en vez de depender del servidor gráfico del sistema. El programa envía la imagen en fragmentos codificados en base64, el terminal los decodifica, compone el resultado sobre la cuadrícula de texto y lo muestra en la posición indicada. Hasta la versión 1.3.1, Ghostty soportaba la transmisión de imágenes estáticas pero no la animación ni las posiciones relativas.

La animación añade un paso más: el programa transmite varios cuadros con metadatos de temporización y composición, y el terminal se encarga de reproducirlos en orden, calcular cuándo pausar la animación si la pestaña pierde el foco, y liberar la memoria de los cuadros que ya no se necesitan. Las posiciones relativas permiten anclar una imagen «hija» a la colocación de otra imagen «padre»: si el programa mueve la imagen padre, la hija se mueve con ella sin que el programa tenga que recalcular coordenadas en cada fotograma.

sequenceDiagram
participant P as Programa
participant T as Ghostty
P->>T: transmite cuadro de imagen (APC)
T-->>P: confirma recepción
Note over P,T: se repite por cada cuadro de la animación
P->>T: indica orden de reproducción
T-->>P: reproduce y pausa si la pestaña pierde foco
Enter fullscreen mode Exit fullscreen mode

El equipo también hizo una pasada de conformidad completa contra la especificación y contra el propio Kitty, corrigiendo decenas de diferencias de comportamiento. Por ejemplo, ahora las imágenes se desplazan junto con el texto dentro de regiones de scroll, y retransmitir un ID de imagen reemplaza la imagen anterior en lugar de duplicarla.

En la práctica, las posiciones relativas sirven para programas que dibujan gráficos compuestos: un visor de imágenes puede mostrar una miniatura flotante sobre la imagen principal, o una herramienta de monitoreo puede superponer un ícono de estado sobre un gráfico más grande, todo sin recalcular coordenadas absolutas en cada fotograma.

El cambio se nota con cualquier programa que use el protocolo. Por ejemplo, mostrar un GIF animado con kitten icat:

kitten icat logo-animado.gif
Enter fullscreen mode Exit fullscreen mode

Antes de la versión 1.4.0, Ghostty mostraba solo el primer cuadro del GIF. Con esta release, el GIF se reproduce completo y se pausa automáticamente si cambiás de pestaña.
Ghostty es el primer terminal fuera de Kitty con el protocolo de gráficos completo, según sus notas de versión.

Impacto y seguridad: diez fallos corregidos

Más allá de las imágenes animadas, la versión 1.4.0 del proyecto cierra diez avisos de seguridad. La mayoría requiere interacción del usuario (pegar texto, hacer cmd-click en un enlace, arrastrar y soltar o confirmar un diálogo): no son fallos explotables de forma remota y silenciosa. Entre los más relevantes, un error en la protección de pegado que no trataba los retornos de carro como fin de línea permitía ejecutar un comando sin confirmación en programas que no usan «bracketed paste» (GHSA-4hwh-wx3w-3fqg). También se corrigieron comandos maliciosos del protocolo de gráficos que podían colgar el programa, forzar asignaciones de memoria enormes o, en casos limitados, leer o borrar archivos fuera de los directorios temporales permitidos (GHSA-mhff-mv4q-fp63).
AvisoPlataformaCómo se activaImpactoGHSA-4hwh-wx3w-3fqgTodasPegar texto con retornos de carroEjecuta un comando sin confirmaciónGHSA-mhff-mv4q-fp63TodasMostrar un comando de gráficos maliciosoCuelgue, asignación masiva de memoria o lectura/borrado de archivos limitadoGHSA-hcr9-7hcr-mjm81.3.0 y 1.3.1Mostrar salida en modo de control de tmuxCierra todas las ventanasGHSA-cw69-wm67-5pv8macOSCmd-click en un enlace OSC 8 manipuladoAbre archivos locales o esquemas de URL inseguros
El resto de los avisos corregidos incluye un error que corrompía memoria al limpiar la pantalla hacia el scrollback con un límite de buffer configurado en cero (GHSA-w9q4-5jvv-mcv4), y uno que permitía que el nombre de un directorio clonado desde un repositorio no confiable disparara secuencias de escape arbitrarias a través de la integración con zsh o bash, por ejemplo para reemplazar el contenido del portapapeles (GHSA-2r63-vmw6-3m3c). En macOS, abrir un archivo cuyo nombre contiene caracteres de control podía ejecutar un comando distinto al que mostraba el diálogo de confirmación (GHSA-mxqx-236q-wrv7).

Un detalle curioso: el mantenedor principal pidió números CVE para estos avisos semanas antes del lanzamiento, pero GitHub todavía no los había asignado al momento de publicar las notas. Es un recordatorio de que el identificador CVE y el aviso de seguridad real no siempre llegan al mismo tiempo.

📌 Nota: ninguno de los diez avisos de Ghostty 1.4.0 tiene todavía un número CVE formal asignado; el proyecto solo publicó los identificadores GHSA de GitHub.

Qué sigue para el emulador de terminal Ghostty

El proyecto no publicó un calendario fijo para la próxima versión, pero el patrón de los últimos ciclos (de 1.3.0 a 1.4.0 pasaron siete meses) sugiere que la 1.5 no llegaría antes de mediados de 2027. Es de esperar que las correcciones de seguridad reciban números CVE retroactivos una vez GitHub los asigne, y que el equipo siga puliendo la integración con SSH que esta release ya mejoró.

El salto de contribuciones, 172 personas distintas en un solo ciclo, también es un dato relevante para un proyecto que recién cumplió dos años desde su lanzamiento público: sugiere que la comunidad alrededor del terminal escrito en Zig sigue creciendo en vez de depender solo de su autor original.

Una limitación que se mantiene: Ghostty no tiene soporte nativo para Windows, algo que lo deja fuera de las opciones para equipos que trabajan exclusivamente en ese sistema. Para esos casos, alternativas como Windows Terminal o WezTerm siguen siendo la opción más directa.

📖 Resumen en Telegram: Ver resumen

Probalo vos: si ya usás Ghostty, actualizá con brew upgrade ghostty en macOS o con el paquete de tu distribución en Linux, y corré kitten icat sobre un GIF animado para ver el protocolo de gráficos completo en acción.

Preguntas frecuentes

¿Qué es el protocolo de gráficos de Kitty que ahora soporta Ghostty por completo?

Es un sistema de secuencias de escape que permite a un programa de terminal transmitir y animar imágenes directamente, sin pasar por el servidor gráfico del sistema. Ghostty 1.4.0 es el primer terminal fuera de Kitty en implementarlo al 100%, incluida la animación.

¿Ghostty es gratuito y de código abierto?

Sí. El emulador de terminal se distribuye bajo una licencia de código abierto y su código fuente está disponible en GitHub, igual que el historial completo de cambios de cada versión.

¿Qué versiones de macOS soporta la nueva release de Ghostty?

Desde macOS 13 (Ventura) en adelante, incluido el recién llegado macOS 27 (Golden Gate), con correcciones específicas de compatibilidad visual para este último.

¿Los fallos de seguridad corregidos en Ghostty requieren actualizar de inmediato?

La mayoría exige que la víctima interactúe (pegar texto, hacer clic o confirmar un diálogo), así que el riesgo no es de ejecución remota silenciosa, pero sigue siendo recomendable actualizar cuanto antes porque varios avisos afectan a usuarios sin que lo noten, como al clonar un repositorio con un nombre de directorio manipulado.

¿Qué lenguaje de programación usa el terminal escrito en Zig?

Ghostty está escrito en Zig, un lenguaje de bajo nivel pensado para rendimiento y control de memoria sin un recolector de basura, lo que explica parte de las mejoras de memoria que trae esta versión.

Referencias

  • Ghostty.org: notas de la versión 1.4.0 con el changelog completo y los avisos de seguridad.- GitHub: repositorio oficial del código fuente de Ghostty.- Kitty graphics protocol: especificación oficial del protocolo de gráficos que Ghostty ahora implementa por completo.- GHSA-4hwh-wx3w-3fqg: aviso de seguridad sobre la protección de pegado y los retornos de carro.

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)