Três vulnerabilidades foram identificadas no systemd-journald

vulnerabilidade do systemd

Três vulnerabilidades foram identificadas que permitem que um invasor sem privilégios eleve seus privilégios no sistema e execute o código como root no systemd-journald, que é responsável por fazer login no systemd.

Vulnerabilidades manifesto em todas as distribuições que usam o systemd, Com exceção do SUSE Linux Enterprise 15, openSUSE Leap 15.0 e Fedora 28/29, em que os componentes do systemd são montados com a inclusão de "-fstack-clash-protection".

O que são vulnerabilidades?

Vulnerabilidades já registrado em CVE-2018-16864 y CVE-2018-16865 permitem que você crie condições para gravar dados fora dos limites do bloco de memória alocado, enquanto vulnerabilidade CVE-2018-16866 permite que você leia o conteúdo das áreas de memória externa.

Os pesquisadores prepararam um protótipo funcional do exploit que, usando as vulnerabilidades CVE-2018-16865 e CVE-2018-16866.

Ao que se detalha sobre essas vulnerabilidades os pesquisadores Eles nos dizem que isso permite que você obtenha privilégios de root após aproximadamente 10 minutos de ataque em sistemas de arquitetura i386 e 70 minutos em sistemas amd64.

Este exploit foi testado no Debian 9.5.

Eles também explicam que:

Quando um exploit é escrito, A técnica Stack Сlash é usada, cuja essência é criar condições quando o conteúdo do heap transbordado estiver na área de pilha ou, inversamente, a pilha pode reescrever a área de heap.

Que se manifesta em situações em que a pilha e o heap são colocados adjacentes um ao outro (a área da pilha segue imediatamente a memória alocada para o heap).

A exploração proposta confirma a suposição de que a proteção contra ataques da classe Stack Сlash no nível do kernel do Linux não é suficiente.

Ao mesmo tempo, o ataque é bloqueado com sucesso ao reconstruir o GCC com a opção "-fstack-clash-protection" habilitada.

Sobre vulnerabilidades

Vulnerabilidade CVE-2018-16864 foi descoberto depois de analisar a situação em que a transferência de aplicativos que salvam dados no log por meio de uma chamada para syslog (), um grande número de argumentos de linha de comando (vários megabytes) leva ao travamento do processo systemd-journald.

A análise mostrou que, ao manipular uma string com argumentos de linha de comando, uma fila de pilha controlada pode ser colocada no início da pilha.

Mas, para um ataque bem-sucedido, é necessário contornar a técnica de proteção da página de proteção de pilha usada no kernel., cuja essência está na substituição das páginas da memória dos limites. para levantar uma exceção (falha de página).

Para contornar essa proteção em paralelo, o systemd-journald começa em “condição de corrida”, Permitindo tempo para capturar o colapso do processo de controle devido à entrada da memória da página, somente leitura.

No processo de estudo da primeira vulnerabilidade, surgiram mais dois problemas.

A segunda vulnerabilidade CVE-2018-16865 permite que você crie condições de sobreposição Stack Сlash semelhante, escrevendo uma mensagem muito grande no arquivo run / systemd / journal / socket.

A terceira vulnerabilidade CVE-2018-16866 se manifesta se você enviar uma mensagem syslog com o último caractere ":".

Devido a um erro na análise da string, a string de terminação '\ 0' após ela será descartada e o log conterá uma parte do buffer fora de '\ 0', permitindo que você descubra os endereços da pilha e do mmap.

  • A vulnerabilidade CVE-2018-16864 está em evidência desde abril de 2013 (apareceu no systemd 203), mas é adequado para operação somente após a mudança para o systemd 230 em fevereiro de 2016.
  • A vulnerabilidade CVE-2018-16865 é evidente desde dezembro de 2011 (systemd 38) e está disponível para operação em abril de 2013 (systemd 201).
  • Os problemas CVE-2018-16864 e CVE-2018-16865 foram corrigidos algumas horas atrás no branch master do systemd.

A vulnerabilidade CVE-2018-16866 apareceu em junho de 2015 (systemd 221) e foi corrigida em agosto de 2018 (não mostrado no systemd 240).

O lançamento de um exploit funcional foi adiado até o lançamento de patches pelas distribuições.

Atualmente, as distribuições de vulnerabilidades ainda não corrigidas são as mais populares, como Debian, Ubuntu, RHEL, Fedora, SUSE, assim como seus derivados.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   luix dito

    systemd é uma merda!

  2.   Martiyo dito

    liberdade do init… sim !!!!