• OOPS: Privilégios de Root no Linux

    Na lista de discussão Full Disclosure, Dan Rosenberg apresenta um programa de demonstração de pequena dimensão, que combina engenhosamente muitas falhas de segurança a fim de obter privilégios de root em sistemas Linux. O ponto de partida foi um problema descoberto por Nelson Elhage em conexão com o segmento de gestão do kernel e rotinas de resolução de problemas (CVE-2010-4258), onde um usuário pode potencialmente explorar um OOPS para escrever um byte nulo na área de memória do kernel. Rosenberg combinou isso com uma série de vulnerabilidades recentemente descobertas por Nelson Elhage, na implementação do protocolo Econet.




    Duas dessas vulnerabilidades ( CVE-2010-3848 , CVE-2010-3849 ) só podem ser exploradas se um administrador já tiver configurado interfaces no sistema Econet. No entanto, CVE-2010-3850 permite que os usuários locais, sem privilégios de root possam fazer exatamente isso. O aspecto surpreendente é que, embora Econet seja um protocolo de antigos computadores Acorn, utilizados para se comunicar com servidores de impressão e arquivo via placas de rede especiais, muitos kernels atuais suportam a sua emulação por padrão e sem nenhuma interação do usuário. Por exemplo, quando submetido à testes, Ubuntu LTS 10,04 "Lucid Lynx" facilmente carregou o driver Econet e um shell de root depois de executar o demo exploit.

    $ ./full-nelson
    [*] Resolving kernel addresses...
    [+] Resolved econet_ioctl to 0xffffffffa0b76510
    [+] Resolved econet_ops to 0xffffffffa0b76600
    [+] Resolved commit_creds to 0xffffffff8108aee0
    [+] Resolved prepare_kernel_cred to 0xffffffff8108b2c0
    [*] Calculating target...
    [*] Triggering payload...
    [*] Got root!
    # id
    uid=0(root) gid=0(root)


    Em seus comentários, Rosenberg aponta que ele deliberadamente concebeu o exploit de tal forma que isso não afetará a maioria dos sistemas padrão. Por exemplo, a Red Hat não suporta Econet por padrão, Debian e Ubuntu já corrigiu as falhas exploradas no Econet. No entanto, o desenvolvedor escreveu que seria fácil encontrar outras vulnerabilidades que possam assumir a tarefa de criar um kernel OOPS, e que todos os usuários do Linux são, portanto, afetados. A Red Hat já declarou que o Red Hat Enterprise Linux 4, 5, 6 e Red Hat Enterprise MRG não são vulneráveis à CVE-2010-4258.


    Saiba Mais:

    [1] Full Disclosure: http://seclists.org/fulldisclosure/2010/Dec/85
    [2] Red Hat CVE-2010-4258: https://www.redhat.com/security/data...2010-4258.html
    [3] Heise On-line: http://www.h-online.com/security/new...x-1149758.html