Avançar para o conteúdo principal
BlogSegurançaLinode Security Digest 13-19 de Março, 2023

Linode Security Digest 13-19 de Março, 2023

Linode Security Digest

No resumo desta semana, vamos discutir:

  • falta de verificação do estado adequado, nonce, e PKCE para autenticação OAuth ;
  • Apache Servidor HTTP: mod_proxy_uwsgi divisão da resposta HTTP; 
  • Sinais ShadowsocksX-NG com com.apple.security.get-task- direitos de licença por causa de CODE_SIGNING_INJECT_BASE_ENTITLEMENTS; e
  • um problema de controlo de acesso em runc que permite a um atacante aumentar os privilégios dentro de um contentor.
CVE-2023-27490: Falta de verificação do estado adequado, nonce e PKCE para autenticação OAuth

Antecedentes

OAuth (Autorização Aberta) é um protocolo padrão aberto que permite que aplicações de terceiros acedam aos recursos em nome de um utilizador sem necessidade de conhecer as credenciais do utilizador, tais como um nome de utilizador e uma palavra-passe. OAuth funciona ao permitir que o utilizador conceda acesso aos seus recursos autenticando-se com o proprietário do recurso (por exemplo, uma plataforma de comunicação social) e obtendo um código de acesso, que é depois utilizado para aceder aos recursos em nome do utilizador. Este código de acesso é emitido pelo proprietário do recurso e pode ser utilizado pela aplicação de terceiros para aceder aos recursos do utilizador sem necessidade de conhecer as credenciais de login do utilizador.

Vulnerabilidade

A vulnerabilidade CVE-2023-27490, existe no pacote Next-auth, que está relacionado com o fluxo de autenticação OAuth . Especificamente, ocorre durante uma sessão OAuth quando o URL de autorização é interceptado e manipulado por um atacante. Esta vulnerabilidade pode permitir ao agressor entrar como vítima e contornar a protecção do CSRF que está normalmente em vigor. No fluxo OAuth , o URL de autorização é utilizado para iniciar o processo de autenticação e solicitar o acesso aos recursos do utilizador. O URL contém parâmetros importantes, tais como o estado, pkce, e nonce, que são utilizados para prevenir ataques como o CSRF, ataques de repetição, e roubo de fichas. No entanto, se o URL de autorização for interceptado e manipulado por um atacante, estas protecções podem ser contornadas, levando à vulnerabilidade descrita no pacote Next-auth.

A causa raiz da vulnerabilidade é uma falha parcial que ocorre durante uma sessão comprometida OAuth . Especificamente, um código de sessão é gerado erroneamente, o que permite ao agressor contornar a protecção do CSRF e iniciar a sessão como vítima.

Mitigação

  • A vulnerabilidade foi abordada na próxima versão v4.20.1, a actualização para a versão mais recente é a forma recomendada para corrigir esta questão.
  • No entanto, ao utilizar a Inicialização Avançada, os programadores podem verificar manualmente o pedido de retorno de chamada para estado, pkce, e nonce contra a configuração do fornecedor, e abortar o processo de login se houver um desajuste
CVE-2023-27522: Apache Servidor HTTP: mod_proxy_uwsgi divisão da resposta HTTP

Antecedentes

O contrabando de pedidos HTTP é uma vulnerabilidade de aplicação web que ocorre quando um atacante pode manipular a forma como uma aplicação ou um servidor web processa os pedidos HTTP enviados por um cliente. Esta vulnerabilidade pode permitir a um atacante contornar controlos de segurança, executar acções não autorizadas, ou roubar dados sensíveis.

O ataque envolve tipicamente a exploração de inconsistências na forma como um servidor web front-end e um servidor ou aplicação back-end lidam com pedidos HTTP, tais como a interpretação de cabeçalhos Content-Length ou a manipulação de codificação em pedaços. Ao manipular estas inconsistências, um atacante pode elaborar um pedido que é interpretado de forma diferente pelos dois servidores, resultando no processamento inadequado do pedido ou na actuação do servidor front-end como um proxy para que o atacante execute pedidos maliciosos em nome do atacante.

Vulnerabilidade

A vulnerabilidade CVE-2023-27522 afecta Apache versões de Servidor HTTP 2.4.30 a 2.4.55, especificamente através do módulo mod_proxy_uwsgi. A vulnerabilidade ocorre quando o servidor de origem envia um cabeçalho de resposta HTTP especialmente elaborado que contém certos caracteres especiais, tais como espaços ou separadores, seguido de um cabeçalho "Content-Length".

O módulo mod_proxy_uwsgi em Apache HTTP Server pode interpretar mal este cabeçalho e encaminhar a resposta para o cliente com um cabeçalho "Content-Length" truncado ou dividido. Isto pode fazer com que o cliente receba respostas incompletas ou incorrectas, permitindo potencialmente que um atacante execute vários tipos de ataques, tais como fuga de dados, falsificação de pedido do lado do servidor (SSRF), cross-site scripting (XSS), e execução de código remoto (RCE).

Mitigação

  • Recomenda-se a actualização para a última versão do Servidor HTTP Apache ou a aplicação de quaisquer correcções disponíveis. 
  • Além disso, as firewalls de aplicação web e os sistemas de detecção de intrusão podem ser utilizados para detectar e prevenir ataques de contrabando de resposta HTTP. 
  • É também importante assegurar que são utilizadas técnicas adequadas de validação de entrada e codificação de saída para evitar a injecção de caracteres especiais nas respostas HTTP.
CVE-2023-27574: Sinais ShadowsocksX-NG com com.apple.security.get-task-allow 

Antecedentes

ShadowsocksX-NG é uma aplicação gratuita e de código aberto que ajuda os utilizadores a contornar a censura da Internet, criando um proxy seguro de meias5 através do qual podem aceder à Internet.

Quando uma aplicação é desenvolvida e pronta para distribuição, precisa de ser assinada com um certificado válido para garantir que é legítima e que não foi adulterada. Este processo chama-se assinatura de código.

Um dos requisitos para a assinatura do código é incluir os direitos, que são permissões que uma aplicação precisa para funcionar correctamente. Os direitos especificam quais os recursos e acções a que a aplicação é autorizada a aceder, tais como a rede, sistema de ficheiros, ou hardware.

Vulnerabilidade

A vulnerabilidade CVE-2023-27574 existe na aplicação ShadowsocksX-NG versão 1.10. 0 que é assinada com um direito chamado com.apple.security.get-task-allow. Este direito permite que a aplicação seja depurada e inspeccionada por ferramentas de desenvolvimento, tais como o Xcode, mesmo quando está a ser executado num dispositivo do utilizador.

A razão para incluir este direito deve-se a uma característica chamada CODE_SIGNING_INJECT_BASE_ENTITLEMENTS. Esta funcionalidade faz parte do processo de assinatura do código, e permite aos programadores incluir direitos adicionais para além daqueles explicitamente especificados no ficheiro de direitos da aplicação. Por outras palavras, quando a funcionalidade CODE_SIGNING_INJECT_BASE_ENTITLEMENTS estiver activada, o Xcode injectará automaticamente um conjunto de direitos predefinidos na assinatura da aplicação. Estes direitos são baseados na conta do programador e na configuração do projecto. Incluem o direito de com.apple.security.get-task-allow por defeito.

O problema com esta abordagem é que o direito com.apple.security.get-task-allow pode ser abusado por atacantes para obter informações sensíveis da memória da aplicação, tais como chaves de encriptação ou outros dados sensíveis. Isto pode ser feito explorando uma vulnerabilidade na aplicação ou utilizando uma ferramenta de terceiros para ler a memória da aplicação.

Mitigação

  • Os utilizadores de ShadowsocksX-NG versão 1.10.0 são aconselhados a actualizar para uma versão posterior que não inclua os direitos com.apple.security.get-task-allow ou a retirar manualmente os direitos da assinatura do código da aplicação.
  • Além disso, os utilizadores devem ser cautelosos na utilização de software VPN/proxy e garantir que estão a utilizar uma versão fiável e segura do software.
CVE-2019-5736: Controlo de acesso em runc

Antecedentes

runc é um utilitário de linha de comando para a desova e funcionamento de contentores de acordo com as especificações da Open Container Initiative (OCI). É normalmente utilizado em ambientes de tempo de funcionamento de contentores, tais como Docker, Kubernetes, e outros.

Vulnerabilidade

Esta vulnerabilidade CVE-2019-5736 é uma questão de controlo de acesso que permite a um atacante aumentar os privilégios dentro de um contentor. Especificamente, o problema está relacionado com a forma como a versão runc através da 1.1.4 lida com o sistema de ficheiros raiz(rootfs) quando se lança um contentor.

Em libcontainer/rootfs_linux.gorunc estabelece a raiz de um contentor, montando-o como apenas para leitura e depois sobrepondo uma camada gravável em cima dele. Este processo é utilizado para criar o sistema de ficheiros do contentor e isolá-lo do sistema anfitrião.

No entanto, uma falha neste código permite a um atacante sobrescrever o sistema anfitrião /proc/self/exe que é uma ligação simbólica com o próprio binário runc. Ao fazê-lo, o atacante pode executar código arbitrário com privilégios elevados, escapando efectivamente ao contentor e ganhando o controlo do sistema hospedeiro.

Mitigação

  • Actualização para uma versão corrigida: A actualização para uma versão corrigida do runc é a atenuação mais eficaz para esta vulnerabilidade. As versões runc 1.0.0-rc6 e mais tarde incluir uma correcção para esta vulnerabilidade.
  • Actualização dos tempos de funcionamento dos contentores: Se estiver a utilizar um ambiente de tempo de execução de contentores como Docker ou Kubernetes, certifique-se de que actualiza para uma versão que inclui a versão runc corrigida.
  • Implementar controlos de acesso: Para mitigar o risco desta vulnerabilidade, devem ser implementados controlos de acesso para limitar a capacidade dos atacantes de desovar contentores com configurações personalizadas de montagem de volume e executar imagens personalizadas. 
  • Minimizar os privilégios dos contentores: A minimização dos privilégios dos contentores pode ajudar a limitar o âmbito de um potencial ataque. Isto pode ser conseguido através do funcionamento de contentores como utilizadores não-rooticiais, restringindo as capacidades dos contentores, e limitando o acesso a recursos sensíveis do hospedeiro.

Comentários

Deixe uma resposta

O seu endereço de correio electrónico não será publicado. Os campos obrigatórios estão marcados com *