
Élévation de privilèges du client d'authentification Safenet - CVE-2021-42056
Selon le site web de Thales [1], SafeNet Authentication Client est un client middleware qui gère le vaste portefeuille SafeNet de Thales d'authentificateurs basés sur des certificats, y compris les eTokens, les cartes à puce SafeNet IDPrime, les périphériques USB et logiciels.
Des autorisations inappropriées ont été définies sur plusieurs fichiers, permettant l'écrasement de fichiers en tant qu'utilisateur root - ainsi que l'escalade de privilèges (nécessitant plusieurs étapes).
CWE-378 : Création de fichier temporaire avec des autorisations non sécurisées CWE-377 : Fichier temporaire non sécurisé
Lors de l'installation, Safenet a défini le chmod 777 sur les répertoires suivants, et 666 sur les fichiers (en listant les fichiers encore vulnérables sur la dernière version de SAC) :
Les fichiers eToken.* sont créés/mis à jour lorsque le client d'authentification SafeNet effectue différentes opérations (par ex. verrouillage/déverrouillage).
Deux problèmes différents :
Par conséquent, tout attaquant local peut, via une attaque par lien symbolique :
Le même problème a été trouvé sur un système Windows ("Everyone" avec des autorisations "Full control") sur ces fichiers - et aucun moyen simple d'exploitation par attaque de lien symbolique n'a été trouvé (bloqué par défaut dans tout système Windows récent).
drwxrwxrwx 2 root root 4.0K Jul 10 21:18 eToken.lock
-rw-rw-rw- 1 root root 0 Jul 10 21:30 'AKS ifdh [eToken 5110 SC] 00 00.lock'
C'est la même chose pour eToken.hid
drwxrwxrwx 2 root root 4.0K Jul 10 21:30 eToken.hid
-rw-rw-rw- 1 root root 0 Jul 10 21:30 global.lock
ou
Lorsque l'état du jeton change (l'utilisateur se connecte ; se reconnecte via son VPN) :
$ ls -laht /etc/passwdTEST -rw-rw-rw- 1 root root 0 Jul 10 21:20 /etc/passwdTEST