Três vulnerabilidades foram encontradas nas câmeras de segurança Foscam. Os proprietários dessas câmeras são instados a atualizar o mais rápido possível. As falhas são descritas como um erro arbitrário de exclusão de arquivos, um bug de injeção de comando shell e uma vulnerabilidade de oferfluxo de buffer baseado em pilha. Os bugs foram descobertos por pesquisadores da VDOO.
Durante sua pesquisa, os especialistas encontraram vulnerabilidades de dia zero em dispositivos de vários fornecedores. Essas vulnerabilidades foram divulgadas aos fornecedores, de acordo com as melhores práticas de divulgação responsável, e será compartilhado gradativamente após o término dos períodos de divulgação, os pesquisadores disseram.
Em termos de vulnerabilidades nos produtos Foscam, uma cadeia crítica de falhas foi descoberta:
Combinando as vulnerabilidades descobertas, um adversário que obtém com sucesso o endereço da câmera, pode obter acesso root remotamente às câmeras (via LAN ou internet). VDOO divulgou responsavelmente essas vulnerabilidades (CVE-2018-6830, CVE-2018-6831 e CVE-2018-6832) e se envolveu com a equipe de segurança da Foscam para resolver o problema.
A equipe de segurança acredita que as vulnerabilidades não foram exploradas em ataques ativos. além do que, além do mais, parece que a equipe Foscam agiu prontamente para corrigir os três bugs e enviá-los aos clientes expostos.
Mais sobre CVE-2018-6830, CVE-2018-6831 e CVE-2018-6832
Um ataque que explora os bugs gira em torno de um processo nas câmeras conhecido como webService. O processo recebe solicitações de servidores e pode ser implantado para verificar as credenciais do usuário. Ele também pode executar o manipulador para o comando específico da API.
A primeira etapa de um ataque envolve um ataque para obter acesso ao endereço IP ou nome DNS da câmera vulnerável. Isso pode não ser difícil, dependendo da circunstância, mais especificamente – se a câmera possui interface direta com a internet.
A segunda etapa é o invasor travando o processo webService explorando CVE-2018-6832, o bug do buffer overflaw baseado em pilha.
Depois que o serviço cair, ele irá reiniciar automaticamente através do watchdog daemon. Durante o tempo de recarga, o ataque pode aproveitar a segunda vulnerabilidade, CVE-2018-6830, apagar arquivos críticos específicos. Isso levará a um desvio de autenticação assim que o processo webService for recarregado. Isso dá ao invasor a chance de obter acesso de administrador. Uma vez feito isso, o invasor pode usar a terceira vulnerabilidade, CVE-2018-6831, para executar comandos root.
Aqui está a visão geral técnica apresentada pela equipe VDOO:
A câmera está executando um sistema operacional Linux e todos os processos são executados com privilégios de root. O servidor da web é um lighttpd com código de fornecedor adicional, e encaminha solicitações de API para seu processo interno CGIProxy.fcgi, usando o protocolo FastCGI. O executável CGIProxy.fcgi encaminha solicitações (usando um mecanismo IPC proprietário) ao processo webService - que verifica as credenciais do usuário (se necessário) e executa o manipulador para o comando API desejado. Dependendo do comando, o manipulador pode chamar código adicional do processo de devMng, que, por sua vez, geralmente executa comandos de shell usando o sistema() ou popen()chamadas de biblioteca, para configurar os serviços do sistema. Um daemon watchdog reinicia processos importantes após eles serem encerrados.