ASA-2019-00231 – Samba: Salvar o arquivo de registro fora do compartilhamento como usuário não privilegiado

O Samba contém um RPC endpoint emulando a API do serviço de registro do Windows. Uma das solicitações, "winreg_SaveKey", é suscetível a uma vulnerabilidade de path/symlink traversal. Usuários não privilegiados podem usá-lo para criar um novo arquivo de seção de registro em qualquer lugar onde tenham permissões unix para criar um novo arquivo em um compartilhamento do Samba. Se eles são capazes de criar links simbólicos no compartilhamento Samba, eles podem criar um novo registro em qualquer lugar que tenham acesso de gravação, mesmo fora da definição de compartilhamento do Samba. Observação - restrições de compartilhamento existentes, como "somente leitura" ou ACLs compartilhadas, *não* impedem que novos arquivos de seção de registro sejam gravados no sistema de arquivos. Um arquivo pode ser escrito em qualquer definição de compartilhamento, sempre que o usuário tiver permissões unix para criar um arquivo. Os arquivos existentes não podem ser sobrescritos usando esta vulnerabilidade, somente novos arquivos de registro podem ser criados, no entanto, a presença de arquivos existentes com um nome específico pode ser detectada. O Samba escreve ou detecta o arquivo como o usuário autenticado, não como root.