Foi encontrado um bug no pppd que permitia executar o código remotamente como root

Uma vulnerabilidade no pacote pppd acaba de ser divulgada ao público (CVE-2020-8597) que afeta seriamente alguns serviços VPN, conexões DSL e também Ethernet O bug encontrado permitia a execução de código enviando solicitações de autenticação especialmente projetadas para sistemas que usam PPP (protocolo ponto a ponto) ou PPPoE (PPP sobre Ethernet).

E é como mencionamos, vários provedores costumam usar esses protocolos para estabelecer conexões via Ethernet ou DSL e também são usados ​​em algumas VPNs, por exemplo, pptpd e openfortivpn.

Para testar a suscetibilidade dos sistemas ao problema, um protótipo de exploração foi preparado, que já está disponível para o público em geral.

Sobre a decisão

A vulnerabilidade é causada por estouro de buffer na implementação do protocolo de autenticação extensível (EAP).

Uma falha lógica adicional faz com que a função eap_input () não verifique se o EAP foi negociado durante a fase do protocolo de controle de linha (LCP).

Isso permite que um invasor não autenticado envie um pacote EAP mesmo se o ppp rejeitou a negociação de autenticação devido à falta de suporte EAP ou devido a uma incompatibilidade de uma frase-senha pré-compartilhada acordada na fase LCP.

O código pppd vulnerável em eap_input continuará a processar o pacote EAP e a disparar o estouro do buffer da pilha.

Esses dados não verificados com um tamanho desconhecido podem ser usados ​​para corromper a memória do sistema de destino. O pppd geralmente é executado com altos privilégios (sistema ou root) e funciona em conjunto com os drivers do kernel. Isso possibilita que um invasor execute código potencialmente arbitrário com privilégios de raiz ou de nível de sistema.

Com ele, um ataque pode ser executado na fase anterior à autenticação Passe enviando um pacote do tipo EAPT_MD5CHAP, incluindo um nome de host muito longo que não cabe no buffer alocado.

Devido a um bug no código para verificar o tamanho do campo rhostname, o invasor pode sobrescrever dados fora do buffer na pilha e obtenha a execução remota de seu código com privilégios de root.

A vulnerabilidade se manifesta no lado do servidor e do clienteou seja, não apenas o servidor pode ser atacado, mas também o cliente tentando se conectar ao servidor controlado pelo invasor (por exemplo, um invasor pode invadir o servidor através da vulnerabilidade primeiro e, em seguida, começar a atacar os clientes que conectar).

Vulnerabilidade também afeta a pilha lwIP, mas o suporte EAP não está habilitado nas configurações padrão em lwIP.

Versões e soluções afetadas 

Como tal, esta falha detectada afeta as versões 2.4.2 a 2.4.8 do pppd inclusive e se resolve na forma de um patch. Alguns de vocês podem estar cientes de que a divulgação de bugs para o público em geral ocorre muito depois de eles serem descobertos e o problema ter sido resolvido. E é que, embora isso leve todo o processo, ainda há a parte do usuário que deve realizar a atualização correspondente.

O status da resolução do problema pode ser revisado dentro dos relatórios das principais distribuições Linux.

Isso pode ser visto em estas as páginas: Debian, Ubuntu, RHELFedora, SUSE, OpenWRT, arco, NetBSD.

No RHEL, OpenWRT e SUSE, o pacote pppd é compilado com a inclusão de "Stack Smashing Protection" ("-fstack-protetor»Em gcc), que limita a operação de bloqueio.

Além das distribuições, a vulnerabilidade também é confirmada em alguns produtos Cisco (CallManager), TP-LINK e Synology (DiskStation Manager, VisualStation VS960HD e Router Manager) usando o código pppd ou lwIP.

Como tal, o patch já está disponível dentro dos repositórios da maioria das distribuições Linux e algumas já o implementaram oferecendo a atualização do pacote.

Se você quiser saber mais sobre isso sobre a falha encontrada, você pode verificar os detalhes e mais informações no link a seguir.


Seja o primeiro a comentar

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: Miguel Ángel Gatón
  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.