Descubrieron una vulnerabilidad en Pling que afecta a KDE Store, OpenDesktop, AppImage y otras tiendas
Una startup de Berlín ha revelado una vulnerabilidad de ejecución remota de código (RCE) y una falla de secuencia de comandos de sitios cruzados (XSS) en Pling, que se utiliza en varios catálogos de aplicaciones construidas en esta plataforma y que podría permitir se ejecute código JavaScript en el contexto de otros usuarios. Los sitios afectados son algunos de los principales catálogos de aplicaciones de software libre tales como store.kde.org, appimagehub.com, gnome-look.org, xfce-look.org, pling.com entre otros.
Positive Security, que encontró los agujeros dijo que los errores todavía están presentes en el código Pling y que sus mantenedores no han respondido a los informes de vulnerabilidad.
A principios de este año, analizamos cómo las aplicaciones de escritorio populares manejan los URI proporcionados por el usuario y encontramos vulnerabilidades de ejecución de código en varias de ellas . Una de las aplicaciones que verifiqué fue KDE Discover App Store, que resultó manejar URI que no eran de confianza de manera insegura (CVE-2021-28117, Aviso de seguridad de KDE ).
En el camino, encontré rápidamente varias vulnerabilidades más graves en otros mercados de software libre.
Un XSS con gusanos con potencial para ataques a la cadena de suministro en los mercados basados en Pling y un RCE drive-by que afecta a los usuarios de la aplicación PlingStore todavía se pueden explotar.
Pling se presenta como un mercado para que los creativos carguen temas y gráficos de escritorio de Linux, entre otras cosas, con la esperanza de obtener algunas ganancias de los partidarios. Viene en dos partes: el código necesario para ejecutar su propio bazar de bling y una aplicación basada en Electron que los usuarios pueden instalar para administrar sus temas desde un zoco de Pling. El código web tiene el XSS y el cliente tiene el XSS y un RCE. Pling impulsa varios sitios, desde pling.com y store.kde.org hasta gnome-look.org y xfce-look.org.
La esencia del problema es que la plataforma Pling permite la adición de bloques multimedia en formato HTML, por ejemplo, para insertar un video de YouTube o una imagen. El código agregado a través del formulario no está validado correctamente, lo que permite agregar código malicioso bajo la apariencia de una imagen y colocar información en el directorio que ejecutará el código JavaScript cuando se ve. Si la información se abrirá a los usuarios que tienen una cuenta, entonces es posible iniciar acciones en el directorio en nombre de este usuario, incluida la adición de una llamada JavaScript a sus páginas, implementando una especie de gusano de red.
Además, se ha identificado una vulnerabilidad en la aplicación PlingStore, escrito utilizando la plataforma Electron y que le permite navegar a través de los directorios de OpenDesktop sin un navegador e instalar los paquetes que se presentan allí. Una vulnerabilidad en PlingStore permite que su código se ejecute en el sistema del usuario.
Cuando la aplicación PlingStore se está ejecutando, el proceso ocs-manager se inicia adicionalmente, aceptando conexiones locales a través de WebSocket y ejecutando comandos como cargar y lanzar aplicaciones en el formato AppImage. Se supone que los comandos son transmitidos por la aplicación PlingStore, pero de hecho, debido a la falta de autenticación, se puede enviar una solicitud a ocs-manager desde el navegador del usuario. Si un usuario abre un sitio malicioso, puede iniciar una conexión con ocs-manager y hacer que el código se ejecute en el sistema del usuario.
También se informa de una vulnerabilidad XSS en el directorio extensions.gnome.org; en el campo con la URL de la página de inicio del complemento, puede especificar un código JavaScript con el formato «javascript: código» y cuando haga clic en el enlace , el JavaScript especificado se lanzará en lugar de abrir el sitio del proyecto.
Por un lado, el problema es más especulativo, ya que se está moderando la ubicación en el directorio extensions.gnome.org y el ataque requiere no solo abrir una determinada página, sino también un clic explícito en el enlace. Por otro lado, es posible que durante la verificación, el moderador quiera ir al sitio del proyecto, ignorar el formulario de enlace y ejecutar el código JavaScript en el contexto de su cuenta.
Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.