Mandiant detalhes recentemente corrigido Oracle Solaris Zero-Day

Views: 346
0 0
Read Time:3 Minute, 6 Second

FireEye Mandiant publicou informações detalhadas sobre uma vulnerabilidade do Oracle Solaris que foi explorada em ataques por um sofisticado ator de ameaças.

Rastreada como CVE-2020-14871, a vulnerabilidade foi identificada em junho, mas um patch para ele só foi lançado como parte da Atualização crítica de patch da Oracle em outubro de 2020. O ator de ameaças que abusa do bug, que é rastreado como UNC1945, tem sido ativamente alvo de sistemas Solaris por pelo menos um par de anos.

A vulnerabilidade de zero-day foi descoberta na biblioteca PAM (Pluggable Authentication Modules, módulos de autenticação plugável), que permite a autenticação do usuário em aplicativos Solaris, ao mesmo tempo em que fornece aos administradores a opção de configurar parâmetros de autenticação.

CVE-2020-14871, explica Mandiant, é um estouro de buffer baseado em pilha que reside na função parse_user_name do PAM e é acionado quando um nome de usuário maior que PAM_MAX_RESP_SIZE (que é 512 bytes) é passado para a função. A falha permite que um invasor não autenticado comprometa os sistemas Oracle Solaris.

“A vulnerabilidade provavelmente existe há décadas, e uma possível razão é que ela só é explorável se um aplicativo ainda não limitar os nomes de usuário a um comprimento menor antes de passá-los para o PAM. Uma situação em que o software voltado para a rede nem sempre limita o comprimento do nome de usuário surge no servidor SSH, e este é o vetor de exploração usado pela ferramenta [EVILSUN] que descobrimos”, observa Mandiant.

Cortesia deste bug, um invasor pode direcionar a autenticação SSH Keyboard-Interactive, onde o SSH é aproveitado para transmitir solicitações e respostas entre o cliente e as bibliotecas PAM no servidor. Suporta formas de autenticação de dois fatores e outras.

“Ao manipular as configurações do cliente SSH para forçar a autenticação do Teclado-Interativo a solicitar o nome de usuário em vez de enviá-lo por meios normais, um invasor também pode passar entrada ilimitada para a função parse_user_name PAM”, explicam os pesquisadores de segurança da Mandiant.

Os pesquisadores criaram uma exploração de prova de conceito projetada para acionar o bug e travar o servidor SSH. Em servidores vulneráveis, o cliente SSH fornece uma mensagem “Autenticação falhada”, enquanto uma não vulnerável solicitava repetidamente um nome de usuário ao receber uma que é muito longa.

Sistemas operacionais vulneráveis, diz Madiant, incluem alguns lançamentos do Solaris 9, todos os lançamentos de Solaris 10, Solaris 11.0 e Illumos (OpenIndiana 2020.04). A Oracle liberou patches para Solaris 10 e 11, mas não para Solaris 9, que não é mais suportado.

Em sistemas Solaris 11.1 e posteriores não reparados, a função parse_user_name permanece vulnerável, mas algumas alterações na biblioteca PAM resultam em que o nome de usuário é truncado antes de ser entregue à função vulnerável, impedindo assim a exploração via SSH.

“Se a função parse_user_name fosse alcançável em outro contexto, então a vulnerabilidade poderia se tornar explorável”, explica Madiant.

Para os sistemas Solaris 9, bem como para os servidores Solaris 10 ou 11, onde a remendo é inconveniente, modificar o arquivo /etc/ssh/sshd_config adicionando as linhas ChallengeResponseAuthentication no e KbdInteractiveAuthentication no e reiniciando o servidor SSH pode ser usado como uma solução alternativa.

No entanto, isso não remove a vulnerabilidade e a exploração ainda pode ser possível se um invasor conseguir alcançar a função parse_user_name de alguma forma. Assim, a instalação das correções incluídas na Atualização crítica de patch de outubro de 2020 é o caminho recomendado de ação.

FONTE: SECURITY WEEK

POSTS RELACIONADOS