Gately v0.6.1 publicado
30 de octubre de 2026
Esta versión incluye una corrección de seguridad. Se recomienda actualizar cuanto antes a todos los usuarios que tengan activada la gestión de Docker y usen cuentas o tokens de API de solo lectura. También resuelve #35, #37, #38 y #40, y añade una política de seguridad.
Descargar v0.6.1 · GitHub Release · Aviso de seguridad GHSA-m6h7-mm5r-r53q
Corrección de seguridad: el acceso de solo lectura a Docker exponía datos sensibles de los contenedores
En v0.6.0.4 y anteriores, las cuentas de solo lectura y los tokens de API con solo el permiso docker:read podían leer en texto plano las variables de entorno, Command, Entrypoint y los argumentos de inicio de un contenedor mediante GET /api/docker/containers/{id}, y la lista de procesos mostraba las líneas de comando completas, de modo que contraseñas de bases de datos y claves de API habituales quedaban al alcance de identidades de solo lectura. Gracias a Yousef Alturki (@YousefAlturki) por informarlo de forma responsable.
Tras la corrección:
- cuando una identidad sin permiso de escritura en Docker consulta un contenedor, las variables de entorno muestran solo su nombre, y los valores, Command, Entrypoint, los argumentos de inicio y los argumentos de comando de la lista de procesos aparecen como
********; las variables de entorno, Cmd, Entrypoint y los comandos del historial de compilación en los detalles de la imagen se ocultan del mismo modo; - los valores en claro los proporciona ahora
GET /api/docker/containers/{id}/secrets, que requieredocker:write. El formulario de edición los carga automáticamente para los administradores, y los campos enviados con el marcador conservan su valor original; - el nombre o prefijo de ID de un contenedor en una solicitud se resuelve primero al ID completo, así que la protección del contenedor en el que se ejecuta Gately ya no puede eludirse con el nombre del contenedor. La edición y la recreación por actualización tratan siempre el contenedor antiguo por su ID completo, lo que corrige que, al llamar por nombre, la fase de limpieza borrara el contenedor nuevo y no fuera posible revertir tras un fallo. Iniciar, detener o eliminar el contenedor mientras se recrea devuelve 409.
Después de actualizar, compruebe si algún token de API de solo lectura se entregó alguna vez a terceros no fiables y, si es necesario, rote los secretos de sus contenedores. Consulte SECURITY.md para saber cómo informar de vulnerabilidades, mediante el informe privado de vulnerabilidades de GitHub o por correo.
Red de emisión de certificados
Los certificados tienen una nueva opción «Red» (#35): «Solo IPv4» o «Solo IPv6» hace que el acceso a la CA, las llamadas a la API del proveedor DNS y la comprobación de que los registros TXT han surtido efecto usen solo esa familia de direcciones. Cuando el host tiene una dirección IPv6 pero IPv6 no funciona realmente, la comprobación de propagación agotaba el tiempo al consultar los servidores DNS autoritativos y la emisión fallaba; basta con elegir «Solo IPv4». Al acceder a través de un proxy como HTTPS_PROXY, la conexión con el propio proxy no queda limitada por esta opción. Consulte Certificados SSL · Red de emisión.
Protección del propio contenedor de Gately
En la página de Docker, la actualización, la actualización por lotes, la edición con recreación, así como ejecutar up o eliminar el proyecto Compose al que pertenece Gately, detienen primero el contenedor antiguo. El proceso de Gately terminaba con él, la recreación nunca se completaba y el contenedor quedaba detenido (#38). Ahora estas operaciones se rechazan sobre el propio contenedor: los botones aparecen desactivados con una indicación para actualizar desde el host, y la actualización por lotes lo omite. Al reiniciar el proyecto Compose al que pertenece Gately, su propio contenedor se reinicia el último.
Las notificaciones y los registros siguen el idioma de la interfaz
Cuando el idioma del servidor es «Seguir el sistema», Gately usa, por este orden, el idioma indicado en GATELY_LANG o LANG. En Docker, fnOS y OpenWrt normalmente no existe ninguna de las dos variables, por lo que las notificaciones recurrían al inglés (#40). Ahora siguen el idioma de la interfaz del último inicio de sesión del administrador o del último cambio en la barra superior; los inicios de sesión de cuentas de solo lectura no lo modifican. El «Origen» de una notificación se traduce cuando es un nombre generado por el programa, mientras que los nombres de tarea introducidos por los usuarios se mantienen tal cual. Los registros en inglés con prefijos como [warn] [auth] ya no mezclan chino e inglés.
Configurar sitio por defecto
Cuando un listener de Servicios web aún no tiene sitio por defecto, su tarjeta muestra un nuevo botón «Configurar sitio por defecto» (#37) para definir directamente cómo se tratan las solicitudes que no coinciden con ningún dominio.
Notas de actualización
- Docker: descargue la nueva imagen y vuelva a crear el contenedor. OpenWrt: instale el nuevo
.apk/.ipksobre el anterior e instale tambiénluci-app-gatelyde la misma versión si quiere la página de LuCI. fnOS: instale manualmente el nuevo.fpken el Centro de aplicaciones. El resto de instalaciones puede actualizarse en línea desde «Ajustes del sistema».