- Qualys a découvert dans OpenSSH une vulnérabilité permettant l’exécution de code à distance via un
ssh-agent SSH transféré.
- Le transfert d’agent SSH est principalement utilisé dans des environnements comme le CI/CD pour tenter une connexion en s’appuyant sur des informations d’authentification présentes à distance, sans les stocker directement.
- La vulnérabilité provient de la partie où l’agent SSH autorise la prise en charge de PKCS11.
- Pour la prise en charge de PKCS11, un utilisateur distant peut charger et fermer des bibliothèques partagées situées dans des emplacements de confiance.
- Après avoir testé toutes les bibliothèques partagées installées par défaut sur Ubuntu Desktop, il est apparu que les bibliothèques par défaut ne sont généralement pas conçues pour être fermées, ce qui provoque des erreurs lorsque
ssh-agent les ferme.
- Ces erreurs déclenchent certains signaux système et, en les combinant, il a été possible d’exécuter du code arbitraire à distance.
- OpenSSH a corrigé le problème en désactivant simplement la prise en charge distante de PKCS11 et en gérant les bibliothèques partagées via une liste blanche.
- Auparavant, il était possible de charger n’importe quelle bibliothèque partagée située sous le dossier
lib.
- Si vous utilisez la fonction de transfert d’agent SSH, il faut désactiver la prise en charge de PKCS11 lorsqu’elle n’est pas nécessaire.
3 commentaires
Faut-il désactiver ce paramètre sur son PC personnel ? Ou est-ce un réglage côté serveur…
Si vous n’avez jamais utilisé le forwarding de
ssh-agent, il semble que vous ne soyez pas concerné.J’ai parcouru rapidement la description détaillée de la vulnérabilité, mais je n’arrive pas à la comprendre...
On parle de gestionnaires
SIGBUSetSIGSEGV, puis de la génération d’unSIGTRAP, du stockage de quelque chose dans un buffer de pile et du fait de provoquer un saut vers cet emplacement...Apparemment, tout cela serait contrôlé via le chargement/déchargement de bibliothèques, mais honnêtement, je ne vois pas très bien ce que ça veut dire.
En gros, j’en suis juste à me dire : ah, d’accord...
Si ça vous intéresse, il y a un document très détaillé, qui semble même inclure des exemples,
je vous recommande d’y jeter un œil.