LM 86 | Ciberbguerra

     

   Siga-nos no Twitter                         
Preencha os campos abaixo para entrar na sua conta:
Esconder
Notícia

Erro em sistemas de arquivos põe Postfix em risco

Esta notícia foi visualizada 1139 vezes.

compartilhar Twitte isso! Publicado em 15/08/2008 às 14:31

Versão para impressão Enviar por email

Wietse Venema, desenvolvedor do Postfix, emitiu um aviso de problema de segurança quando o servidor de e-mail é usado em conjunto com sistemas de arquivos do Linux e do Solaris. Como as versões mais recentes desses sistemas operacionais não seguem mais o padrão POSIX para links, agressores locais podem conseguir anexar arquivos às caixas de mensagens de outros usuários do Postfix.

O problema afeta todas as versões mais recentes de variantes do Linux e do Solaris, segundo Venema, mas não as distribuições BSD, AIX, Mac OS X, HP-UX e outros sistemas que seguem os padrões POSIX ou X/Open.

Os sistemas afetados criam hard links que, por sua vez, apontam para links simbólicos não como hard links, mas criando um link simbólico sem notificar o usuário disso. Um agressor local poderia explorar isso para anexar arquivos de dados --- sem ter permissão de escrita sobre eles --- à caixa de mensagens do servidor Postfix.

Sebastian Krahmer, do Suse, foi quem descobriu esse comportamento. Ele pode ser demonstrado em distribuições Linux atuais (por exemplo, Ubuntu 8.04 e openSUSE 11) em poucos passos:

  $ PATH=/bin:/usr/bin:$PATH
  $ mkdir test
  $ cd test
  $ touch src
  $ ln -s src dst1
  $ ln dst1 dst2
  $ ls -l

Sistemas afetados pela vulnerabilidade criam dois links simbólicos no diretório, apesar de o comando ln não ter usado a opção -s:

  $ ls -l
  lrwxrwxrwx 2 user users 3 Mmm dd hh:mm dst1 -> src
  lrwxrwxrwx 2 user users 3 Mmm dd hh:mm dst2 -> src
  -rw-r--r-- 1 user users 0 Mmm dd hh:mm src

No caso do servidor de e-mail do Postfix, um agressor local poderia convencer o Postfix a anexar dados ao arquivo de outro usuário, incluindo a caixa de mensagens, por exemplo. Se o servidor estiver rodando com privilégios de root, isso poderia servir de vetor de ataque para um usuário local independentemente do Postfix. Se o Postfix encontrar um hard link na entrega da mensagem, ele emitirá uma mensagem de erro informando ser impossível entregá-la; por outro lado, links simbólicos seriam permitidos.

Dessa forma, servidores que usem o formado Maildir ou um servidor IMAP local, como Cyrus ou Dovecot, não são afetados.

Compartilhe


Comentários

Em 17/08/2008 às 15:09, Flávio RB escreveu:

Posso estar enganado, mas esse comportamento é normal.

Executei exatamente os mesmos comandos só que no “ls -l” incluí o “i” ficando “ls -li”, que pede para ser listados os INODES dos arquivos.

O comando “ln dst1 dst2” criou um HARD LINK do arquivo “dst1” com nome “dst2”. O que seria perfeitamente normal de se esperar. Uso isso desde que aprendi a diferença entre hard link e link simbólico (e isso foi em 1988 num Ultrix - Digital). Gostarei de ver a execução desses comando em *BSD, HPUX e AIX (usando “ls -li"). Vou reler as especificações POSIX sobre isso.

Vejam minha seqüencia de comandos e seus resultados:

fb@mhf:~$ type mkdir
mkdir está hasheado (/bin/mkdir)
fb@mhf:~$ type cd
cd é um comando interno do interpretador
fb@mhf:~$ type touch
touch está hasheado (/usr/bin/touch)
fb@mhf:~$ type ln
ln está hasheado (/bin/ln)
fb@mhf:~$ mkdir test
fb@mhf:~$ cd test
fb@mhf:~/test$ touch src
fb@mhf:~/test$ ln -s src dst1
fb@mhf:~/test$ ln dst1 dst2
fb@mhf:~/test$ ls -li
total 0
1411689 lrwxrwxrwx 2 fb fb 3 2008-08-17 14:01 dst1 -> src
1411689 lrwxrwxrwx 2 fb fb 3 2008-08-17 14:01 dst2 -> src
1411688 -rw-r--r-- 1 fb fb 0 2008-08-17 14:01 src

Usei o comando “type” para mostrar a localização dos comando “mkdir”, “cd”, “touch” e “ln”.

Notem que quando se usa a opção “-i” em “ls -li” a primeira coluna lista o números de inodes. Um hard link é somente uma nova entrada num diretório cujo número de INODE é o mesmo. Um link simbólico é um arquivo cujo conteúdo faz uma referência a localização do arquivo de destino.

Comparando com linguagens de programação um hard link é um novo apontador para a pesma posição de memória e um link simbólico é uma referencia ao nome original da variável.

Em 18/08/2008 às 11:27, Antonionni escreveu:

Comportamento no FreeBSD

Segue abaixo o comportamento dos comandos citados num sistama BSD:

# uname -mrs
FreeBSD 6.2-RELEASE i386
# type mkdir
mkdir is /bin/mkdir
# type cd
cd is a shell builtin
# type touch
touch is /usr/bin/touch
# type ln
ln is /bin/ln
# mkdir test
# cd test
# touch src
# ln -s src dst1
# ln dst1 dst2
# ls -li
total 0
3179527 lrwxr-xr-x 1 root rutifoh 3 Aug 18 10:32 dst1 -> src
3179526 -rw-r--r-- 2 root rutifoh 0 Aug 18 10:32 dst2
3179526 -rw-r--r-- 2 root rutifoh 0 Aug 18 10:32 src
#

Notem a diferença de implementação no hardlink. Basta reparar o numero de INODE de dst2.

Entre seus dados para comentar a notícia:


Esqueceu a senha?
Cadastro

Outras notícias

O terrível estado do suporte ao Hyper-VPublicado em 03/02/2012 às 18:21 – Comentar primeiro

Projetos abertos OpenStack e OpenNebula ainda permanecem sem suporte ao hypervisor da Microsoft e a situação não tem previsão de melhora.

Leia mais...
Nova versão do Qt SDKPublicado em 03/02/2012 às 15:22 – Comentar primeiro

Versão 1.2 do conjunto de ferramentas para desenvolvimento já trazem compatibilidade com o Qt 4.8.0 e uma API para permitir compras dentro de aplicativos.

Leia mais...
O fim do Boxee no PCPublicado em 03/02/2012 às 13:41 – Comentar primeiro

Empresa responsável pelo desenvolvimento da central de mídia removeu anteontem os links para download da versão para PC do software.

Leia mais...
A controvérsia em torno do BusyboxPublicado em 03/02/2012 às 12:16 – Comentar primeiro

Desenvolvimento de uma alternativa ao Busybox que não é licenciada sob a GPL tem causado tumulto e acusações na comunidade.

Leia mais...
Wayland a caminhoPublicado em 03/02/2012 às 11:48 – Comentar primeiro

Apresentação do criador e principal desenvolvedor do sistema de exibição apontam para o iminente lançamento do promissor substituto do X11.

Leia mais...
Dez anos de suporte da Red HatPublicado em 02/02/2012 às 20:17 – Comentar primeiro

Empresa estende em três anos o ciclo de vida das versões 5 e 6 de sua distribuição Red Hat Enterprise Linux.

Leia mais...
Debian 7 com o kernel 3.2Publicado em 02/02/2012 às 18:12 – Comentar primeiro

Próxima versão da famosa distribuição Linux possuirá também uma opção de kernel aprimorado para trabalhar em tempo real.

Leia mais...
7º Libre Graphics Meeting acontece em VienaPublicado em 02/02/2012 às 14:30 – Comentar primeiro

Evento reúne desenvolvedores e usuários de software gráfico livre e em código aberto para debates e unir a comunidade.

Leia mais...
Comparando Dart e JavaScriptPublicado em 02/02/2012 às 12:26 – Comentar primeiro

Página divulgada pelo Google mostra as diferenças e semelhanças entre as duas linguagens de programação para web.

Leia mais...

Mais notícias

Meu carrinho
Meu carrinho Carrinho vazioIr para a loja
Shopping

Whitepapers