Patchou o Exim — faça o patch novamente. Nova execução remota de comandos no Exim 4.92 em uma única solicitação

Patchou o Exim — faça o patch novamente. Nova execução remota de comandos no Exim 4.92 em uma única solicitação

Recentemente, no início do verão, surgiram convites em massa para atualizar o Exim para a versão 4.92 devido à vulnerabilidade CVE-2019-10149 (Atualize urgentemente o exim para 4.92 — infecções estão se espalhando / Habr). E dias atrás, descobriu-se que o malware Sustes decidiu explorar essa vulnerabilidade.

Agora, todos os que atualizaram rapidamente podem novamente "se alegrar": em 21 de julho de 2019, o pesquisador Zerons descobriu uma vulnerabilidade crítica no Exim Mail Transfer agent (MTA) ao usar TLS para versões de 4.80 a 4.92.1 inclusive, permitindo que um código seja executado remotamente com privilégios elevados. (CVE-2019-15846).

Vulnerabilidade

A vulnerabilidade está presente ao usar bibliotecas tanto GnuTLS quanto OpenSSL ao estabelecer uma conexão TLS segura.

Segundo o desenvolvedor Heiko Schlittermann, o arquivo de configuração no Exim por padrão não utiliza TLS, no entanto, muitas distribuições durante a instalação criam os certificados necessários e incluem a conexão segura. Além disso, versões mais novas do Exim configuram a opção tls_advertise_hosts=* e geram os certificados necessários.

depende da configuração. A maioria das distribuições habilita isso por padrão, mas o Exim precisa de um certificado + chave para funcionar como um servidor TLS. Provavelmente, as distribuições criam um Cert durante a configuração. Exims mais novos têm a opção tls_advertise_hosts configurada para "*" e criam um certificado autoassinado, se nenhum for fornecido.

A vulnerabilidade em si reside no processamento incorreto do SNI (Server Name Indication, tecnologia introduzida em 2003 no RFC 3546 para solicitar ao cliente o certificado correto para um nome de domínio, Disseminação do padrão TLS SNI / Blog da empresa WEBO Group / Habr) durante o handshake TLS. Para o invasor, basta enviar um SNI que termina com uma barra invertida ("") e um caractere nulo (" ").

Pesquisadores da empresa Qualys descobriram um bug na função string_printing(tls_in.sni), que consiste no escape incorreto da "". Como resultado, um retorno da barra invertida é gravado como não escapado no arquivo de cabeçalho de print spool. Em seguida, esse arquivo com privilégios elevados é lido pela função spool_read_header(), o que leva a um estouro de heap.

Vale ressaltar que, até o momento, os desenvolvedores do Exim criaram um PoC da vulnerabilidade com execução de comandos em um servidor vulnerável remoto, mas ele ainda não está disponível publicamente. Devido à facilidade de exploração do bug, é apenas uma questão de tempo, e um tempo relativamente curto.

Você pode consultar uma pesquisa mais detalhada da Qualys aqui.

Patchou o Exim — faça o patch novamente. Nova execução remota de comandos no Exim 4.92 em uma única solicitação

Uso do SNI em TLS

Número de servidores públicos potencialmente vulneráveis

De acordo com estatísticas de um grande provedor de hospedagem E-Soft Inc em 1º de setembro, em servidores alugados, a versão 4.92 é utilizada em mais de 70% dos hosts.

Versão
Número de Servidores
Porcentagem

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

Outras versões
25568
5.04%

Estatísticas da empresa E-Soft Inc

Se pesquisarmos em um mecanismo de busca Shodan, dos 5.250.000 na base de servidores:

  • cerca de 3.500.000 utilizam Exim 4.92 (cerca de 1.380.000 com SSL/TLS);
  • mais de 74.000 utilizam 4.92.1 (cerca de 25.000 com SSL/TLS).

Assim, existem aproximadamente 1,5 milhões.

Patchou o Exim — faça o patch novamente. Nova execução remota de comandos no Exim 4.92 em uma única solicitação

Busca por servidores Exim no Shodan

Protección

  • A opção mais simples, mas não recomendada, é não usar TLS, o que resultará no envio de e-mails em texto claro.
  • Uma alternativa mais preferível para evitar a exploração da vulnerabilidade é atualizar para a versão Exim Internet Mailer 4.92.2.
  • Se a atualização ou instalação de uma versão corrigida não for possível, é possível definir ACL na configuração do Exim para a opção acl_smtp_mail com as seguintes regras:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster