A Oxeye descobriu duas vulnerabilidades críticas de segurança e recomenda ações imediatas para mitigar o risco. As vulnerabilidades foram descobertas no Owncast (CVE-2023-3188) e no EaseProbe (CVE-2023-33967), duas plataformas de código aberto escritas em Go.
Vulnerabilidade de owncast (CVE-2023-3188)
A primeira vulnerabilidade foi descoberta no Owncast, um servidor de streaming de vídeo ao vivo e bate-papo de código aberto, auto-hospedado, descentralizado e de usuário único escrito em Go. O CVE-2023-3188, rotulado como SSRF (Unauthenticated Blind Server-Side Request Forgery), pode potencialmente permitir que invasores não autenticados explorem o servidor Owncast forçando o servidor Owncast a enviar solicitações HTTP para locais arbitrários usando o método HTTP GET. Essa vulnerabilidade também permite que o invasor envie as solicitações enquanto especifica caminhos de URL arbitrários e parâmetros de consulta.
Esta vulnerabilidade tem uma alta classificação de gravidade CNA CVSS de 8,3/10.
O código vulnerável reside na função GetWebfingerLinks de Owncast, especificamente no seguinte local. De acordo com a análise de código, a entrada controlada pelo usuário passada pelo parâmetro “account” é analisada como uma URL e, posteriormente, uma solicitação HTTP é emitida para o host especificado na linha 32.
Para resolver essa vulnerabilidade crítica de SSRF, a Oxeye Security recomenda as seguintes etapas de correção:
- Proibir o cliente HTTP utilizado pelo Owncast de seguir redirecionamentos HTTP para mitigar a exploração potencial de ataques SSRF.
- Implemente restrições para permitir que apenas usuários autenticados acionem o ponto de extremidade vulnerável, minimizando assim o risco de acesso não autorizado.
Vulnerabilidade no EaseProbe (CVE-2023-33967)
A Oxeye também descobriu várias vulnerabilidades de injeção de SQL no EaseProbe, uma ferramenta leve e autônoma de verificação de integridade/status escrita em Go. As vulnerabilidades, categorizadas como Config-Based SQL-Injection, expõem potenciais riscos de segurança para os usuários do EaseProbe com uma pontuação crítica de segurança do NIST CVSS de 9,8/10.
Essas vulnerabilidades podem ser exploradas por invasores que controlam a configuração do EaseProbe, permitindo que eles leiam, excluam ou modifiquem todas as informações armazenadas nos bancos de dados configurados para verificação de integridade. Em determinadas circunstâncias, dependendo dos privilégios do usuário e do mecanismo de banco de dados, o invasor também pode executar comandos arbitrários do sistema no servidor que hospeda o banco de dados. O código vulnerável está dentro do código do cliente de banco de dados MySQL e Postgres do EaseProbe.
Ao analisar o arquivo de configuração do EaseProbe, os pesquisadores demonstraram um cenário prático de exploração em um banco de dados Postgres. O invasor injeta um comando malicioso “ls” para executar comandos arbitrários do sistema. A consulta de banco de dados vulnerável é formatada sem segurança com dados fornecidos pelo usuário, levando à execução bem-sucedida do comando injetado.
Para mitigar os riscos associados a ataques de injeção de SQL, a Oxeye Security recomenda as seguintes medidas de correção:
- Higienize corretamente todas as entradas do usuário para evitar vulnerabilidades de injeção de SQL. Isso pode ser alcançado implementando técnicas como instruções preparadas e consultas parametrizadas, que tratam a entrada fornecida pelo usuário como valores em vez de código executável. Se a injeção ocorrer em uma parte de consulta que não pode ser parametrizada, valide estritamente a entrada do usuário, considerando o uso de expressões regulares ou outros métodos apropriados.
- Certifique-se de que o aplicativo seja atualizado e corrigido regularmente para resolver quaisquer vulnerabilidades conhecidas, pois isso pode efetivamente reduzir o risco de exploração.
Esse problema foi corrigido no EaseProbe v2.1.0.
FONTE: HELPNET SECURITY