- Se descubrió un grave problema de seguridad en StarDict que envía la selección de texto del usuario en entornos X11 a servidores externos mediante HTTP sin cifrar
- El problema ocurre porque los complementos de YouDao y dict.cn están activados por defecto en la configuración predeterminada de Debian
- Esto significa que cuando el usuario selecciona cualquier texto, se envía automáticamente al servidor, con riesgo de filtración de información sensible
- Los mantenedores del paquete revisaron propuestas para desactivar la función y separar los complementos, pero la aplicación de una solución de fondo ha sido insuficiente
- El problema ya se había señalado varias veces en el pasado, y vuelve a mostrar la falta de una respuesta completa y la importancia de la conciencia de seguridad
Resumen del funcionamiento de StarDict y del problema de seguridad
- StarDict es un programa de diccionario multiplataforma con licencia GPLv3, con soporte para varios idiomas y un ecosistema de complementos
- En la configuración predeterminada de Debian, al ejecutar StarDict, el texto seleccionado por el usuario se envía a dos servidores remotos, youdao.com y dict.cn, mediante HTTP sin cifrar
- El problema también fue reportado en la lista de correo oss-security y en el rastreador de errores de Debian
Detalles del problema
- Por diseño de StarDict, el código que se comunica con sitios web de diccionarios puede parecer una configuración natural, pero la función de "escaneo" está activada por defecto
- Esto significa que cuando el usuario selecciona texto con el mouse, aparece automáticamente una ventana emergente de traducción y ese texto se envía automáticamente a servidores externos
- El problema se vuelve grave cuando el usuario mantiene StarDict ejecutándose siempre en segundo plano
Diferencias según el entorno Linux
- En Wayland, StarDict no puede capturar texto de otras aplicaciones, por lo que la función de escaneo no funciona y no se produce este problema de seguridad
- El problema existe actualmente solo en el entorno X11 tradicional
Respuesta de Debian y de los desarrolladores de StarDict
- El mantenedor del paquete de Debian, Xiao Sheng Wen, no lo consideró un problema grave y señaló que
"la función de escaneo y el complemento de YouDao pueden desactivarse" - Sin embargo, el reportante Vincent Lefevre indicó que "las funciones relacionadas con la privacidad deben estar desactivadas por defecto"
- Es posible informar esta función a través de la descripción del paquete, pero la descripción de stardict-plugin no menciona el uso de diccionarios en línea
- Se han propuesto mejoras como la separación de complementos, pero no se tomaron medidas inmediatas
Comodidad de la función y preocupaciones de seguridad
- La función de escaneo es una ventaja principal de StarDict cuando se quiere consultar rápidamente un diccionario al leer en un idioma extranjero
- Sin embargo, es difícil que el usuario espere que esa comunicación no esté cifrada. Cualquiera en la ruta intermedia puede exponer texto sensible
Incidentes de seguridad similares en el pasado y respuesta
- En 2009 y 2015 también se reportaron casos similares
- 2009: desactivar los diccionarios de red se aplicó temporalmente como valor predeterminado
- Sin embargo, el complemento YouDao agregado en 2016 ignoró esa configuración
- El problema de 2015 recién se resolvió en 2025 mediante la eliminación del complemento
- De este modo, se han repetido la reaparición del problema y la demora en la respuesta, junto con cambios de mantenedores y fallas de priorización
Escala de usuarios e impacto de seguridad
- Según las estadísticas de Debian, actualmente solo unas 178 personas tienen StarDict instalado, pero considerando sistemas que no participan en esas estadísticas, muchos usuarios podrían haber estado expuestos durante años al riesgo de filtración de texto
- Copiar contraseñas, correos sensibles o texto seleccionado mientras se edita un documento, entre otros casos, podría quedar expuesto externamente tal cual
El ecosistema open source y la agenda de seguridad
- Una gran distribución como Debian administra muchísimos paquetes, y son frecuentes las omisiones de actualizaciones y el envejecimiento del software
- Incluso la ley de Linus, según la cual "con suficientes ojos, todos los bugs son superficiales", solo se cumple si alguien descubre el error, lo reporta y luego un mantenedor lo reconoce como problema y lo corrige
El cambio de X11 a Wayland
- La adopción de Wayland busca reducir este tipo de fallas de seguridad, especialmente la posibilidad de filtración de información entre aplicaciones
- Aun así, siguen siendo un reto las incomodidades funcionales y las nuevas formas de gestionar permisos de uso
Conclusión e implicaciones
- Preocupa la realidad de que problemas de seguridad que se descubren, diagnostican y reportan sigan sin resolverse o vuelvan a aparecer
- Para mantener la reputación de seguridad de Linux, es indispensable que desarrolladores de open source, responsables del mantenimiento de paquetes y usuarios mantengan una conciencia constante del problema y respondan con rapidez
1 comentarios
Opiniones de Hacker News
Como señaló Xiao, quienes instalan software pueden leer la descripción del paquete, y de hecho sí se menciona la función de escaneo. Pero los mantenedores de Debian a menudo responden a reportes de errores con algo como “hay que leer con cuidado todas las descripciones de los paquetes (incluso los cientos que se instalan como dependencias)”, y sinceramente, si hubieras empezado a leer todas las descripciones y README con la distribución Trixie de hace unos días, probablemente todavía no terminarías
Claro, uno podría pensar que un programa de diccionario incluye código para comunicarse con sitios web. Pero si instalo un diccionario con apt-get, espero tener el diccionario completo en mi computadora. Después de todo, los diccionarios en papel existen desde hace siglos... StarDict es más bien en línea, y podrá ser normal, pero da una sensación de trampa
Me sorprendió bastante enterarme de que, en los teléfonos Samsung, todos los datos del portapapeles se comparten entre todos los dispositivos de mi cuenta Samsung (incluyendo contraseñas) e incluso se guarda el historial. No recuerdo si era la configuración predeterminada o si acepté por accidente. Supongo que esos datos pasan por servidores de Samsung. Desactivé la función de compartir, pero el historial del portapapeles no se desactiva, y aunque cambie de teclado, si vuelvo al teclado de Samsung, sigue apareciendo todo el historial anterior. Mi próximo teléfono no va a ser Samsung
Siento que la discusión sobre Wayland se presta un poco a confusión. El resumen final es correcto: “Tal vez StarDict habría pedido permisos especiales para funcionar en Wayland, y el usuario los habría aceptado por defecto, igual que ahora.” O sea, es muy probable, y quizá esos permisos incluso se habrían configurado automáticamente durante la instalación. El malware siempre existe. Wayland puede defenderte de ciertos ataques, pero no te protege de paquetes instalados como parte de la distribución
Consultar un diccionario local a partir del portapapeles está bien. Añadir una función para consultar un diccionario remoto también está bien. Incluso combinar ambas cosas de manera sencilla sería razonable si estuvieran separadas mediante algún flag especial. Pero mezclar esas dos funciones en la configuración predeterminada es casi un acto malicioso
Sobre la frase “por supuesto un programa de diccionario tiene código conectado a sitios web”, diría que en realidad depende del propósito. La versión mínima del diccionario finlandés que ofrezco (
tsk) pesa unos 30MB e incluye alrededor de 250 mil palabras, con el diccionario incrustado directamente en el binario y reconstruyendo la búsqueda por prefijo en cada ejecución. Pero una base de datos enorme con lematización, etimología, etc., puede crecer hasta decenas de gigabytes. Mi objetivo era una exploración completamente inmediata al ritmo de la escritura en teclado, así que necesitaba esa estructura. También requirió mucho esfuerzo, así que decidí cobrar a partir de versiones posteriores tsk Github sitio de la versión de pago (por ahora está fuera de línea por problemas de firma de código en Windows). Para la mayoría de los demás casos de uso, consultar un servidor es mucho más cómodo. Casi nunca hay motivo para descargar un diccionario gigantesco completo, así que una estructura híbrida (por ejemplo, cachear localmente las 10 mil palabras más comunes y consultar al servidor para las raras) también suena bastante razonableViendo esto, hay demasiadas cosas que solo me hacen pensar en mala intención. El mantenedor respondió: “el usuario activó manualmente la función de ‘escaneo’, y seleccionar texto dispara la traducción... ¿por qué seleccionaría datos confidenciales para una consulta de traducción?”
Respeto mucho el trabajo que se invierte en Debian, pero siempre me ha molestado este “maximalismo” del gestor de paquetes. Por ejemplo, intentas instalar foo y termina instalando también todo el software relacionado posible, e incluso arrancando demonios de red si los hay. Sé que existe un flag para evitar instalar “paquetes recomendados”, pero siento que la configuración predeterminada termina perjudicando al usuario
--install-recommendssea el valor por defecto. No está mal esa diferencia sutil de Recommends como “la mayoría de nosotros quiere esto” y Suggests como “función para minorías”. Pero también creo que es un problema cuando mantenedores individuales abusan del campo Recommends. Por ejemplo, no tiene sentido que al instalar una herramienta de compresión también te fuerce cierto sistema init (estoy viendo a file-roller y al equipo de gnome)No entiendo por qué todo esto no es offline. Un diccionario chino completo tiene menos de 400 mil palabras y, aun calculando 1k por palabra, con 400MB alcanzaría. Esto se puede implementar localmente sin problema; depender de una conexión de red es simplemente mal diseño
Ver este tipo de cosas me da una rabia enorme. Esto es absolutamente inaceptable