« Cooperativa Solis publicará estudos de casos sobre adoção do software livre | Main | Pesquisa: Para quais projetos livres a sua distribuição favorita contribui diretamente? »
sexta-feira, 7 de janeiro de 2005
Descoberta falha de segurança no kernel do Linux
Prepare-se para os upgrades, pois a falha descoberta na função uselib() pode permitir obtenção de privilégios de administrador para usuários com acesso à shell do sistema. O a... (Ler na íntegra)Publicado por brain às 21:55
Comentários dos leitores
(Termos de Uso)
» Comentário de Adalberto ( $ipip="200.189.16.131"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 07/01 22:28
Alguem poderia me corrigir, mas pelo post de atualização da referida falha, há uma informação de que para o kernel de serie 2.4 já existia uma correção no release rc1 feito pelo Marcelo Tossati, isso estaria correto, e se nao, como proceder a atualizaçao para esta serie.....agradeço...
» Comentário de Mandark ( $ipip="200.195.3.171"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 00:28
Estranho, testei o código que o cara propões e não deu certo.
» Comentário de Matheus Villela ( $ipip="200.247.80.199"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 01:15
Aqui o código nem compila :(
$ gcc root_exploit.c
root_exploit.c: In function `scan_mm_start':
root_exploit.c:425: error: storage size of `l' isn't known
root_exploit.c:425: error: storage size of `l' isn't known
root_exploit.c: In function `check_vma_flags':
root_exploit.c:545: warning: deprecated use of label at end of compound statement
» Comentário de flaviothunder ( $ipip="200.158.8.252"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 03:11
Matheus,
Depois de fazer algumas escavações no Google consegui fazer o programa compilar, experimente trocar o modify_ldt_ldt_s na linha 425 por user_desc caso voce tenha os fontes do kernel 2.6.9, rodando neste kernel o processamento sobe lá em cima (no meu modesto K6II 500MHz) mas não parece ocorrer nada mais que isso (em 1 minuto com o programa rodando), creio que seja necessario ter o fonte do kernel que ocorre o problema (2.4.seilaoque), assim como a mesma versão rodando.
Assim acredito que a série 2.6 está livre, mas quem sou eu pra afirmar uma coisa destas não é ?
Depois vou testar no 2.4.18 do Debian pra ver o que acontece.
Sucesso
» Comentário de Mandark ( $ipip="200.195.3.131"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 12:20
Matheus,
Use o comando abaixo para compilar:
gcc -O2 -fomit-frame-pointer elflbl.c -o elflbl
» Comentário de Douglas Augusto ( $ipip="200.177.130.234"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 13:28
> Assim acredito que a série 2.6 está livre, mas quem sou eu pra afirmar uma coisa destas não é ?
Afeta a série 2.6 também, inclusive a versão 2.6.10, segundo o link apontado pela notícia.
» Comentário de linfluX ( $ipip="200.177.5.111"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 16:17
Usei o comando abaixo para compilar:
gcc -O2 -fomit-frame-pointer bug.c -o elflbl
mas deu erro
gcc -O2 -fomit-frame-pointer bug.c -o elflbl
bug.c: In function `scan_mm_start':
bug.c:426: warning: useless keyword or type name in empty declaration
bug.c:433: error: `l' undeclared (first use in this function)
bug.c:433: error: (Each undeclared identifier is reported only once
bug.c:433: error: for each function it appears in.)
bug.c: In function `check_vma_flags':
bug.c:545: warning: deprecated use of label at end of compound statement
» Comentário de flaviothunder ( $ipip="200.158.8.229"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 08/01 21:45
A série 2.6 deve estar com problemas sim, eu baixei o fonte do kernel 2.6.9 via apt-get há alguns dias e hoje (08/01) veio atualização dele, vou dar uma olhada no changelog...
» Comentário de anms ( $ipip="200.138.100.113"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 09/01 09:36
Compilou certinho aqui mas...
tds@matrix:/tmp$ ./elflbl
[+] SLAB cleanup
child 1 VMAs 61
[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000
[+] vmalloc area 0xcf400000 - 0xde635000
[-] FAILED: open lib (/dev/shm/_elf_lib not writable?) (Permission denied)
Killed
tds@matrix:/tmp$ uname -a
Linux matrix 2.4.26 #6 Mon Jun 14 19:07:27 PDT 2004 i686 unknown unknown GNU/Linux
» Comentário de Fcpn ( $ipip="201.0.250.35"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 10/01 08:47
O meu deu a mesma coisa... nada de root...
to usando slack-current
» Comentário de marcelo ( $ipip="200.176.24.26"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 10/01 11:40
E' dificil fazer o exploit funcionar (e' um "race condition" que as vezes demora varias vezes para aperecer), mas o problema existe em ambos v2.4 e v2.6
» Comentário de Matheus Villela ( $ipip="200.247.80.195"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 10/01 21:39
flaviothunder, acho que era isso pois compilou, talvez funcione normalmente em outros da série 2.6.x, a estrutura deve ter virado "deprecated" recentemente :-/
Aqui uso 2.6.9-rc1-mm5
Porém... o "programa" tá dando segdefault, e mesmo compilando com -g3 e debugando ele não acha onde está o erro, provavelmente então deve estar no código asm, aí fica difícil :P, ou até mesmo meu kernel é imune :D
Mandark, flags de optimização não fazem algo com erro compilar ;), só flags como -ansi que fazem diferença no código em si.
Bom, se isso não funciona pra ninguém por aqui é um excelente sinal, quando vi sobre o problema fiquei pensando que durante muito tempo servidores rodando kérneis antigos iriam ser rootados por gente usando isso, mas como aparentemente não é uma tática muito eficaz talvez isso não ocorrerá muito :)
O formulário de comentários está desativado devido à mudança de sistema de gerenciamento de conteúdo.