Une start-up berlinoise a révélé une vulnérabilité d'exécution de code à distance (RCE) et une faille de type cross-site scripting (XSS) dans Pling, une plateforme utilisée par plusieurs catalogues d'applications. Cette vulnérabilité pourrait permettre l'exécution de code JavaScript dans le contexte d'autres utilisateurs. Parmi les sites affectés figurent certains des principaux catalogues d'applications open source, tels que store.kde.org, appimagehub.com, gnome-look.org, xfce-look.org et pling.com.
Positive Security, qui a trouvé les trous, a déclaré que les bogues sont toujours présents dans le code Pling et que ses responsables n'ont pas répondu aux rapports de vulnérabilité.
Plus tôt cette année, nous avons examiné comment les applications de bureau populaires gèrent les URI fournis par l'utilisateur et avons trouvé des vulnérabilités d'exécution de code dans plusieurs d'entre elles. L'une des applications que j'ai vérifiées était le KDE Discover App Store, qui s'est avéré gérer les URI non fiables de manière non sécurisée (CVE-2021-28117, KDE Security Advisory).
En chemin, j'ai rapidement trouvé plusieurs vulnérabilités plus sérieuses sur d'autres marchés du logiciel libre.
Un XSS vermifugé avec le potentiel d'attaques de la chaîne d'approvisionnement sur les marchés basés sur Pling et un RCE drive-by affectant les utilisateurs de l'application PlingStore peuvent toujours être exploités.
Pling se présente comme une plateforme permettant aux créatifs de partager des thèmes et des graphismes pour ordinateurs Linux, entre autres, dans l'espoir de générer des revenus grâce à leurs contributeurs. Le projet se compose de deux parties : le code nécessaire à l'exécution de sa propre plateforme et une application Electron permettant aux utilisateurs de gérer leurs thèmes depuis la plateforme Pling. Le code web contient une vulnérabilité XSS, tandis que le client présente une vulnérabilité XSS ainsi qu'une vulnérabilité d'exécution de code à distance (RCE). Pling alimente plusieurs sites web, tels que pling.com, store.kde.org, gnome-look.org et xfce-look.org.
Le problème fondamental réside dans le fait que la plateforme Pling autorise l'ajout de blocs multimédias au format HTML, par exemple pour intégrer une vidéo YouTube ou une image. Le code ajouté via le formulaire n'est pas correctement validé, ce qui permet l'insertion de code malveillant dissimulé dans une image et le placement d'informations dans le répertoire. Ces informations exécuteront du code JavaScript lors de l'affichage de la page. Si les utilisateurs disposant d'un compte ont accès à ces informations, il est possible d'effectuer des actions dans le répertoire au nom de l'utilisateur, notamment l'ajout d'un appel JavaScript à ses pages, ce qui revient à créer un ver informatique.
De plus , une vulnérabilité a été identifiée dans l'application PlingStore, développée avec la plateforme Electron. Cette vulnérabilité lui permet de naviguer dans les répertoires OpenDesktop sans navigateur et d'y installer des paquets. PlingStore peut ainsi exécuter du code sur le système de l'utilisateur.
Lorsque l'application PlingStore est lancée, le processus ocs-manager démarre également. Ce processus accepte les connexions locales via WebSocket et exécute des commandes telles que le chargement et le lancement d'applications au format AppImage . Ces commandes sont censées être transmises par l'application PlingStore, mais en réalité, en raison de l'absence d'authentification, une requête à ocs-manager peut être envoyée depuis le navigateur de l'utilisateur. Si un utilisateur ouvre un site web malveillant, celui-ci peut établir une connexion avec ocs-manager et exécuter du code malveillant sur son système.
Une vulnérabilité XSS a également été signalée dans le répertoire extensions.gnome.org ; dans le champ contenant l’URL de la page d’accueil du plugin, il est possible de spécifier du code JavaScript au format « javascript:code » et, lorsque l’on clique sur le lien, le code JavaScript spécifié sera exécuté au lieu d’ouvrir le site du projet.
D'une part, le problème est plus hypothétique , car la modération implique l'emplacement dans le répertoire extensions.gnome.org, et l'attaque nécessite non seulement d'ouvrir une page spécifique, mais aussi de cliquer explicitement sur le lien. D'autre part, il est possible que, lors du processus de vérification, le modérateur souhaite se rendre sur le site web du projet, contourner le formulaire de lien et exécuter le code JavaScript depuis son compte.
Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.