[FUG-BR] falha seguranca freebsd 7.1, 7.2, 8.0
Joao H L M Silva
jhlmsilva em gmail.com
Terça Dezembro 1 01:52:08 BRST 2009
ai galera fug
recebi um e-mail da freebsd brasil agora (tem alguem la que nao dorme)
é um aviso de segurança que me pareceu muito serio e grave então
resolvi compartilhar
estou repassando quase na integra, acho que nao tem problema...
para evitar problema so removi o link direto do binario que a
comunidade nao precisa
vamo atualizar, acorda ai cso rsss rss
------------------------------------
Assunto: AVISO DE SEGURANÇA - Elevação de privilégios no rtld com
envenenamento de ambiente.
De: "Equipe FreeBSD Brasil LTDA" <abuse em freebsdbrasil.com.br>
Data: Ter, Dezembro 1, 2009 1:35 am
Afeta: FreeBSD 7.1, 7.2, 8.0
Criticidade: alta
Probabilidade: média
Impacto: alto
Exploit: disponível publicamente
Correção oficial: zero-day (correção esperada para Quarta, 2 Dezembro).
Recomendação: atualização imediata
Senhores, bom dia.
Foi divulgado há pouco uma falha no RTLD (Real-time Link Editor) que
permite a troca
artificialmente manipulada de algumas variáveis de ambiente em momento
de execução
de um binário.
Dessa forma é possível envenenar o ambiente de forma que permita uma biblioteca
externa ser linkada a uma aplicação em execução. Se essa aplicação for
executada com
suid-bit, então será possível carregar dinamicamente essa biblioteca,
executando-a
com os mesmos privilégios da aplicação - e não do usuário.
A consequência é a elevação de privilégios, permitindo que usuários locais
desprivilegiados executem instruções como root.
Dessa forma servidores que permitam o acesso ``shell`` de usuários, mesmo shell
artificial (web servers com java, php, etc) ou permitam upload seguido
de execução
de aplicações (tipicamente CGI) são os alvos principais dessa exploração.
E X P L O R A Ç Ã O
A exploração é comprovada em FreeBSD 7.1 e 8.0. A FreeBSD Brasil comprovou o
problema em FreeBSD 7.2 também. Sistemas 7.0 ou anteriores não estão
vulneráveis. A
exploração é facilitada por rotina existente e publicamente disponível.
C O R R E Ç Ã O
O rtld é uma aplicação de userland. Dessa forma sua correção é simples e muito
rápida, sem a necessidade de reiniciar o sistema operacional. Siga os
passos abaixo
(logado como root):
# cd /usr/src/libexec/rtld-elf/
# fetch http://people.freebsd.org/~cperciva/rtld.patch
# patch -p0 < rtld.patch
# make
# make install
Essa correção é preliminar, mas não é mitigatória. Ela anula
completamente o risco.
Clientes com sistema embarcado (memória flash) ou outro ambiente
qualquer que não
disponha de código-fonte localmente instalado ou não disponha das ferramentas de
compilação podem, alternativamente, instalar um binário previamente
preparado pela
FreeBSD Brasil:
# cd /tmp
# fetch http://removido.pq.nao.sei.se.pode.divulgar/l/ld-elf.so.1
# sha256 ld-elf.so.1
Confira o hash do comando acima com o hash disponível no final dessa
nota. Depois
instale o ld-elf.so.1:
# chflags noschg /usr/libexec/ld-elf.so.1
# install -s -o root -g wheel -m 555 -C -b -fschg -S ld-elf.so.1 /libexec
C L I E N T E S
F R E E B S D B R A S I L
Clientes FreeBSD Brasil acima do nível 1 (SLS L1) se não se sentirem
confortáveis em
realizar os procedimentos acima basta responder esse e-mail com pedido para
atualização que nós executaremos os procedimentos (nesse caso, liste todos os
servidores FreeBSD 7.1-8.0 e seus respectivos IPs para agilizar o
trabalho de nossa
equipe). Clientes nível 1 (SLS L1) se ainda houverem dúvidas quanto aos
procedimentos, nos comuniquem.
H A S H L I S T I N G
MD5 (ld-elf.so.1) = 40e461a069e06be4068b29eacd575c90
SHA256 (ld-elf.so.1) =
36b5b541ea2fd8a5d5da176c20f7138996a2719f1206dfdf9d5db9dbb21655d2
MD5 (rtld.patch) = f359628cfe7d8acbba4a8f3957c3e35b
SHA256 (rtld.patch) =
ffcba0c20335dd83e9ac0d0e920faf5b4aedf366ee5a41f548b95027e3b770c1
--
Equipe FreeBSD Brasil LTDA
http://www.freebsdbrasil.com.br
(31) 3516-0800
Mais detalhes sobre a lista de discussão freebsd