
Safenet Authentication Client Escalação de Privilégios - CVE-2021-42056
Baseado no site da Thales [1], o SafeNet Authentication Client – é um middleware cliente que gere o extenso portfólio da Thales de autenticadores baseados em certificados, incluindo eTokens, smart cards SafeNet IDPrime, dispositivos USB e baseados em software.
Foram definidas permissões inadequadas em vários ficheiros, permitindo a sobrescrita de ficheiros como utilizador root – bem como escalação de privilégios (exigindo vários passos).
CWE-378: Criação de Ficheiro Temporário com Permissões Inseguras CWE-377: Ficheiro Temporário Inseguro
Durante a instalação, a Safenet definiu chmod 777 nos seguintes diretórios e 666 nos ficheiros (lista de ficheiros que ainda estão vulneráveis na versão mais recente do SAC):
eToken.* são criados/atualizados quando o SafeNet Authentication Client está a executar diferentes operações (ex. bloquear/desbloquear).
Dois problemas distintos:
Portanto, qualquer atacante local pode, através de um ataque de symlink:
O mesmo problema foi encontrado em sistemas baseados em Windows ("Everyone" com permissões de "Full control") nestes ficheiros – e não foi encontrada nenhuma forma fácil de explorar com um ataque de symlink (bloqueado por predefinição em qualquer sistema Windows recente).
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'
O mesmo acontece para 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
Quando o estado do token muda (o utilizador está a iniciar sessão; a restabelecer a ligação através da VPN):
$ ls -laht /etc/passwdTEST -rw-rw-rw- 1 root root 0 Jul 10 21:20 /etc/passwdTEST