Dans les nouvelles versions des systèmes de gestion de configuration centralisée SaltStack 3002.5, 3001.6 et 3000.8, une vulnérabilité (CVE-2020-28243) a été corrigée, permettant à un utilisateur local non privilégié d'élever ses privilèges dans le système. Le problème était dû à une erreur dans le gestionnaire salt-minion, utilisé pour recevoir des commandes du serveur central. La vulnérabilité a été révélée en novembre, mais n'a été corrigée que maintenant.
Lors de l'exécution de l'opération « restartcheck », il est possible de procéder à l'injection de commandes arbitraires en manipulant le nom du processus. En particulier, la vérification de la présence d'un paquet se faisait en lançant le gestionnaire de paquets avec un argument basé sur le nom du processus. Le gestionnaire de paquets est lancé via un appel à la fonction popen en mode shell, mais sans échapper les caractères spéciaux. En modifiant le nom du processus et en utilisant des caractères comme « ; » et « | », il est possible d'exécuter son propre code.
En plus du problème signalé dans SaltStack 3002.5, 9 autres vulnérabilités ont été corrigées :
- CVE-2021-25281 — en raison d'un manque de vérification appropriée des privilèges, un attaquant à distance peut, via un appel à l'API SaltAPI, exécuter n'importe quel module wheel sur le serveur master et compromettre toute l'infrastructure.
- CVE-2021-3197 — problème dans le module SSH vers minion, permettant d'exécuter des commandes shell arbitraires via l'injection d'arguments avec la configuration « ProxyCommand » ou en passant ssh_options par l'API.
- CVE-2021-25282 — accès non autorisé à wheel_async permet, grâce à un appel à l'API SaltAPI, de réécrire un fichier hors du répertoire de base et d'exécuter du code arbitraire dans le système.
- CVE-2021-25283 — débordement du répertoire de base dans le gestionnaire wheel.pillar_roots.write dans SaltAPI permet d'ajouter un modèle arbitraire au moteur jinja.
- CVE-2021-25284 — les mots de passe définis via webutils étaient enregistrés en clair dans le journal /var/log/salt/minion.
- CVE-2021-3148 — possibilité d'injection de commandes via l'appel SaltAPI salt.utils.thin.gen_thin().
- CVE-2020-35662 — absence de vérification SSL- du certificat dans la configuration par défaut.
- CVE-2021-3144 — possibilité d'utiliser des tokens d'authentification eauth après leur expiration.
- CVE-2020-28972 — le code ne vérifiait pas le certificat SSL/TLS de serveurs, ce qui permettait des attaques MITM.
Source : opennet.ru
