Vulnerabilidade no driver proprietário da NVidia permite acesso como root
Uma aplicação interessante para o driver proprietário da NVidia para Linux: um usuário com acesso a uma conta com shell pode tornar-se root sem precisar saber a senha ou ser incluído em nenhuma lista de privilégios. Esta é a definição tradicional de um exploit de root, e no caso em questão, trata-se de uma vulnerabilidade (que permite sobrescrever regiões arbitrárias da memória do sistema) descoberta e notificada à empresa há mais de 30 dias, sem resposta ou solução.
O responsável pela notificação, após aguardar os 30 dias, encaminhou para divulgação ao público por meio de um desenvolvedor do X.
Se você usa o driver proprietário da NVidia e sua máquina estiver exposta a acesso de terceiros, vale atenção especial. (via lwn.net – “Privilege escalation vulnerability in the NVidia binary driver [LWN.net]”)
Testei esse exploit com alguns amigos no trampo ontem em três máquinas, com as seguintes distribuições, todas atualizadas e com o mesmo hardware: slackware, arch linux e ubuntu.
O exploit somente funcionou no ubuntu.
É a segurança por obscuridade mostrando sua cara hahaha :P
Medonho!!! Qual é a taxa de atualização desses drivers???
O Catalyst tem umas 3/4 atualizações por ano. Já estamos na 12.6
com várias correções de bugs pra Linux. O 12.7 beta apresenta pequena melhora
de desempenho.
O problema é que a Nvidia faz drivers para Linux, querendo não fazer.
Vai demorar para consertarem isso.
No Debian squeeze, o programa gera a saida:
[*] IDT offset at 0xc13e7000
[*] Abusing nVidia…
e depois acaba com status 255, nenhuma saida no dmesg, usando essa versão do driver:
$ dmesg|grep NVRM
[ 4.612305] NVRM: loading NVIDIA UNIX x86 Kernel Module 295.53
Olhando esse código fonte, o sujeito que fez isso é um guru, onde há trechos em que ele diz que teve que aprender a programar uma vga para faze-lo. Não é coisa pra qualquer um, mas não deixa de ser uma falha gravíssima.
Essa parece a ação padrão a ser tomada com softwares proprietários que se integram ao Linux:
Se você abre um bugfix diretamente e discretamente ninguém dá bola. Se você torna público as empresas ficam “nervosinhas” com a cominidade e com estes desenvolvedores que “não tem o que fazer” a não ser explorar falhas. :P
Mais uma dedada na Nvadia.
Testei numa máquina e funcionou mesmo… :-(
$ ./exploit
[*] IDT offset at 0xffffffff81b65000
[*] Abusing nVidia…
[*] CVE-2012-YYYY
[*] 64-bits Kernel found at ofs 0
[*] Using IDT entry: 220 (0xffffffff81b65dc0)
[*] Enhancing gate entry…
[*] Triggering payload…
[*] Hiding evidence…
[*] Have root, will travel..
sh-4.2#
sh-4.2# whoami
root
diver nvidia versão 295.49-2
Mageia release 2 (Official) for x86_64
Desabilitei-os aqui, até sair o acerto.