Isso foi um bug no pam_motd que tem há muito tempo corrigido :
pam_motd (também conhecido como módulo MOTD) em libpam-modules antes de 1.1.0-2ubuntu1.1 no PAM no Ubuntu 9.10 e libpam-modules antes de 1.1.1-2ubuntu5 no PAM no Ubuntu 10.04 LTS permite que usuários locais alterem a propriedade de arquivos arbitrários por meio de um ataque de link simbólico em .cache no diretório pessoal de um usuário, relacionado a "selos de arquivos do usuário" e ao arquivo motd.legal-notice.
Isso basicamente se traduz em, ao efetuar login com o SSH, o PAM (o módulo de autenticação, executado como root) tentaria chown $USER: ~/.cache
. Não foi possível ver o que era isso, então a mudança de propriedade estava se propagando para o arquivo vinculado.
Isso permitiu que você possuísse e editasse os arquivos do sistema e obtivesse acesso em nível de raiz.
Embora .cache
tenha sido vinculado a /etc/{passwd,shadow}
, eles poderiam ter ecoado em .cache
... Mas por que se incomodar? Nesse ponto, esses arquivos tiveram sua propriedade de arquivo alterada para $USER
. Eles eram livremente editáveis.
Apenas em resposta aos seus comentários:
-
Não lhe dá permissão, (ou devo dizer que o seu módulo PAM) é a coisa que muda a propriedade. Mas sim, o PAM fazendo o que fez foi o problema.
-
O link simbólico para
~/.cache
é apenas um redirecionamento para a exploração. É necessário para que, quando você efetuar login no PAM (executando como root), tentechown
do arquivo vinculado. Isso é o o exploit lá. -
Foi um descuido e foi corrigido pela queda privilégios antes de entrar em qualquer um desses códigos.