cve_2016_0728

Como corrigir e proteger seu Linux da Vulnerabilidade 0-day CVE-2016-0728

Um problema de segurança muito grave foi encontrado no kernel do Linux ontem (19/01/2015). A vulnerabilidade de elevação de privilégio local do tipo 0-day existe desde 2012. Este bug afeta milhões de aplicações Android ou Linux e permite elevação de privilégios, ou seja um usuário com permissões mais restritivas poderão ter permissões de root sem a necessidade da senha de root. Qualquer servidor ou desktop (32 ou 64 bits) com o Kernel do Linux nas versões 3.8 ou superior é vulnerável.
Detalhes da vulnerabilidade podem ser obtidas no post original dos pesquisadores que encontraram a vulnerabilidade: http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/

 

Lista de distribuições Linux afetadas

Minha distribuição é afetada pela vulnerabilidae CVE-2016-0728? As distros afetadas incluem:

  1. Red Hat Enterprise Linux 7
  2. CentOS Linux 7
  3. Scientific Linux 7
  4. Debian Linux stable 8.x (jessie)
  5. Debian Linux testing 9.x (stretch)
  6. SUSE Linux Enterprise Desktop 12
  7. SUSE Linux Enterprise Desktop 12 SP1
  8. SUSE Linux Enterprise Server 12
  9. SUSE Linux Enterprise Server 12 SP1
  10. SUSE Linux Enterprise Workstation Extension 12
  11. SUSE Linux Enterprise Workstation Extension 12 SP1
  12. Ubuntu Linux 14.04 LTS (Trusty Tahr)
  13. Ubuntu Linux 15.04 (Vivid Vervet)
  14. Ubuntu Linux 15.10 (Wily Werewolf)
  15. Opensuse Linux LEAP 42.x and version 13.x
  16. Oracle Linux 7

 

Como posso corrigir a vulnerabilidade VCE-2016-0728 em meu Linux?

Primeiro valide se a versão do kernel de sua distribuição se encontra na lista de vulneravel com um dos comandos abaixo:

Se a versão do kernel na saída do comando for 3.8 ou superior, sua distribuição está afetada e deverá ser atualizada.

Para realizar a atualização em distros Ubuntu ou Debian, utilize o seguinte comando (atenção, o servidor será reiniciado com o comando reboot, portando só execute em janelas de manutenção com plano de recuperação definido caso seja um servidor de produção):

Para distros Red Hat Like (RHEL, CentOS, Oracle Linux, etc):

Para distros Opensuse ou Suse Enterprise:

Após a reinicialização da sua distribuição, valide novamente a versão do kernel com um dos comandos abaixo:

As versões de kernel que possuem a correção incluem:

  • Ubuntu Linux 14.04 LTS : 3.13.0-76 (package version 3.13.0-76.120)
  • Debian Linux 8.x : 3.16.0-4 (package version 3.16.7-ckt20-1+deb8u3)
  • SUSE Linux Enterprise Server 12 SP1 : 3.12.51-60.25.1
  • RHEL 7 / CentOS 7 :

 

Experimente explorar a vulnerabilidade

Você pode usar o código de prova de conceito para descobrir se seu kernel é seguro ou não. O código para a PoC pode ser obtido via wget (caso o wget não esteja instalado, utilize seu gerenciador de pacotes para faze-lo):

e compile com o seguinte (caso o gcc ou o keyutils-libs-devel não esteja instalado, utilize seu gerenciador de pacotes para faze-lo):

será gerado entao o arquivo do parametro output “cve_2016_0728” que deverá ser executado com parametro, conforme exemplo abaixo:

O exploit completo do kernel leva bastante tempo para ser executado, em meu laboratório com um I3 levou 50min e com um I7 levou 30min.

 

Algumas Perguntas e Respostas sobre a vulnerabilidade oferecida pela Red Hat incluem:

P. Sites na Internet mencionam que o exploit podem ser evitados com o comando:

R. Esse limite só se aplica as chaves criadas por usuários, e não as chaves criadas pelo root. Cada usuário recebe uma sessão de chaveiro pam (como root) quando se conecta. Até agora não existe nenhum work around.

P. Tenho que reiniciar apos instalar as atualizações do kernel?

R. Sim.

P. Existe uma mitigação alternativa até que eu possa agendar uma janela de reinicialização?

R. Frank Ch. Eigler criou uma solução alternativa com systemtap no Comentário nº 13 do bug vulnerabilidade  e Comentário nº 14. Por favor, siga as instruções dos comentários no Bugzilla.

P. O SELinux consegue mitigar este problema?

R. Não

 

 

 

The following two tabs change content below.
Atua como Analista de Segurança da Informação Sênior em uma empresa de consultoria de Segurança da Informação e Tecnologia do interior de São Paulo. Trabalha com computação desde 1998 e iniciou suas atividades como Analista de Segurança da Informação em 2002 prestando consultoria e participando de projetos voltados a Segurança da Informação. Também é sócio de uma empresa de soluções de Alta Disponibilidade.