Une vulnérabilité dans Flatpak a permis d'éviter le mode isolement

Vulnérabilité

Simon McVittie dévoilé récemment qui a identifié une vulnérabilité (CVE-2021-21261) qui permet d'éviter l'isolement de l'espace isolé et exécutez du code arbitraire dans l'environnement du système hôte dans l'utilitaire de déploiement et de gestion des packages Flatpak.

Vulnérabilité est présent dans le service flatpak-portal de D-Bus (flatpak-portail également connu sous son nom de service D-Bus org.freedesktop.portal.Flatpak), qui permet le lancement de "portails" qui permettent d'organiser l'accès aux ressources en dehors du conteneur.

À propos de la décision

Et c'est que la vulnérabilité mentionnée en tant que telle ne l'est pas, puisqu'elle est due au fonctionnement du service «Flatpak-portal» permet aux applications sandbox de démarrer leur propre processus enfant dans un nouvel environnement sandbox, auquel des paramètres d'isolation identiques ou plus forts sont appliqués (par exemple, pour gérer le contenu non approuvé).

La vulnérabilité est exploitée, car transmet les variables d'environnement spécifiques au processus appelant aux contrôleurs non isolés depuis le système hôte (par exemple, en exécutant la commande «course de flatpak«). Une application malveillante peut exposer des variables d'environnement qui affectent l'exécution de flatpak et exécuter n'importe quel code côté hôte.

Le service flatpak-session-help (org.freedesktop.flatpakal qui accède flatpak-spawn –hôte) est destiné à fournir des applications marquées particulièrement la possibilité d'exécuter du code arbitraire sur le système hôte, ce n'est donc pas une vulnérabilité qu'elle repose également sur les variables d'environnement qui lui sont fournies.

Accorder l'accès au service org.freedesktop.Flatpak indique qu'une application est digne de confiance et peut légitimement exécuter du code arbitraire en dehors du bac à sable. Par exemple, l'environnement de développement intégré GNOME Builder est marqué comme approuvé de cette manière.

Le service D-Bus du portail Flatpak permet aux applications d'un bac à sable Flatpak de lancer leurs propres threads dans un nouveau bac à sable, soit avec les mêmes paramètres de sécurité que l'appelant, soit avec des paramètres de sécurité plus restrictifs.

Un exemple de ceci, est qu'il est mentionné que dans les navigateurs Web fournis avec Flatpak comme Chrome, pour démarrer les threads qui traitera le contenu Web non approuvé et donnera à ces threads un bac à sable plus restrictif que le navigateur lui-même.

Dans les versions vulnérables, le service de portail Flatpak transmet les variables d'environnement spécifiées par l'appelant aux processus non sandbox sur le système hôte, et en particulier à la commande d'exécution flatpak qui est utilisée pour lancer la nouvelle instance du sandbox.

Une application Flatpak malveillante ou compromise pourrait définir des variables d'environnement approuvées par la commande d'exécution flatpak et les utiliser pour exécuter du code arbitraire qui ne se trouve pas dans un bac à sable.

Il ne faut pas oublier que de nombreux développeurs flatpak désactivent le mode d'isolation ou donnent un accès complet au répertoire personnel.

Par exemple, les packages GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity et VLC sont livrés avec un mode d'isolation limité. Si les paquets ayant accès au répertoire personnel sont compromis, malgré la présence de la balise «bac à sable»Dans la description du paquet, un attaquant doit modifier le fichier ~ / .bashrc pour exécuter son code.

Un autre problème est le contrôle des modifications apportées aux packages et la confiance dans les créateurs de packages, qui ne sont souvent pas associés au projet principal ou aux distributions.

Solution

Il est mentionné que le problème a été résolu dans les versions Flatpak 1.10.0 et 1.8.5, mais plus tard, un changement régressif est apparu dans la révision qui a causé des problèmes de compilation sur les systèmes avec le support bubblewrap défini avec l'indicateur setuid.

Après cela, la régression mentionnée a été corrigée dans la version 1.10.1 (alors que la mise à jour pour la branche 1.8.x n'est pas encore disponible).

Enfin si vous souhaitez en savoir plus À propos du rapport de vulnérabilité, vous pouvez vérifier les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.