Smart TVs da LG apresentam falhas de segurança, alerta ISH Tecnologia
A ISH Tecnologia, principal empresa nacional de cibersegurança, divulga um boletim que revela a existência de diversas falhas de segurança em smart TVs da LG. São vulnerabilidades que afetam versões do sistema operacional webOS, utilizado pelos aparelhos, e permitem ao invasor contornar os mecanismos de autorização da televisão, e estabelecer um perfil de usuário com privilégios elevados.
O sistema operacional webOS é o que permite aos televisores se conectar à internet, e acessar serviços de streaming e redes sociais, por exemplo. Uma vez que o cibercriminoso possui acesso ao perfil da vítima e aos serviços que utiliza, por meio da exploração dessas vulnerabilidades, pode roubar informações sensíveis ou dados de cartão de crédito (caso estejam armazenados), que podem também ser utilizados para golpes posteriores.
Apesar do serviço vulnerável ser planejado somente para uso em redes locais, ele foi encontrado pelo Shodan, um motor de busca especializado em dispositivos conectados à internet, em mais de 87.000 aparelhos expostos. No Brasil, foram encontrados aparelhos afetados em cidades como São Paulo, Rio de Janeiro, Belo Horizonte, Brasília e Osasco.
Já no exterior, os casos confirmados estão predominantemente situados na Coreia do Sul, Hong Kong, Estados Unidos, Suécia, Finlândia e Letônia.
Segundo o levantamento da ISH, quatro versões do sistema operacional possuem as falhas:
4.9.7 – 5.30.40, do modelo LG43UM7000PLA
5.5.0 – 04.50.51, do modelo OLED55CXPUA
6.6.3-442 (kisscurl-kinglake) – 03.36.50, do modelo OLED48C1PUB
7.3.1-43 (mullet-mebin) – 03.33.85, do modelo OLED55A23LA
Além disso, a empresa divulga uma breve descrição de como atuam as vulnerabilidades:
CVE-2023-6317: Para ativar o aplicativo ThinkQ, utilizado para interagir com as TVs LG, é necessário digitar um PIN que aparece na tela. Contudo, uma falha no sistema de gerenciamento de contas permite que um atacante contorne a necessidade do PIN e estabeleça um perfil de usuário com privilégios elevados. A rotina responsável por processar os pedidos de criação de contas emprega uma variável chamada skipPrompt. Essa variável é ajustada para verdadeiro caso os parâmetros client-key ou companion-client-key coincidam com um perfil já existente. O sistema também avalia as permissões requeridas para determinar se é necessário solicitar o PIN, omitindo essa etapa em algumas situações.
Inicialmente, pode-se requerer a criação de uma conta sem permissões especiais, que é aprovada de imediato. Posteriormente, uma solicitação para uma conta com permissões ampliadas é feita, mas utilizando a companion-client-key da conta inicial. O sistema reconhece a chave, porém não verifica se ela realmente pertence à conta correta, resultando na ativação da variável skipPrompt e na criação da nova conta sem a validação do PIN na TV.
CVE-2023-6318: O método processAnalyticsReport exige três parâmetros: type, reportFile e originalFile. O parâmetro type, quando ajustado para analytic, permite que o reportFile seja enviado para um comando de sistema sem a devida sanitização. Embora não seja possível acessar este método diretamente, um desvio é possível através do endpoint system.notifications/createAlert, acessível somente por usuários autenticados com a permissão WRITE_NOTIFICATION_TOAST. Este endpoint aceita um parâmetro onclose que pode ser usado para fazer chamadas internas a serviços não expostos externamente, funcionando de maneira similar a um SSRF. Após a notificação ser criada, a ação de onclose é ativada usando o endpoint system.notifications/closeAlert, que por sua vez faz a chamada para o endpoint vulnerável.
O arquivo especificado no comando deve existir no dispositivo, mas essa limitação pode ser contornada pelo uso do serviço com.webos.service.downloadmanager, que permite criar um arquivo no diretório /media/internal/downloads com um nome arbitrário. O comando vulnerável é montado na linha 83 do código e executado na linha 84. Ambos, o método de análise de relatórios e o de download, são acessíveis via endpoint processAnalyticsReport e createAlert.
CVE-2023-6319: O método getAudioMetadata necessita de dois parâmetros: deviceId e fullPath. O parâmetro deviceId é de menor importância, mas o fullPath, sob determinadas condições, é enviado a um comando de sistema sem qualquer sanitização. Quando esse parâmetro indica um arquivo com a extensão .mp3, o serviço busca no mesmo diretório um arquivo de letras correspondente com a mesma denominação, mas com a extensão .lrc. Caso este arquivo seja encontrado, seus primeiros quatro bytes serão comparados à sequência \xFF\xFE\x00\x00. Se houver uma correspondência, indicando que o arquivo está em codificação UTF1632, o serviço tenta decodificar o arquivo usando o binário iconv. Este binário é executado com o nome completo do arquivo, que é passado sem sanitização prévia, resultando em uma potencial injeção de comando.
Para que funcione, os arquivos .mp3 e .lrc devem estar presentes no dispositivo, e podem ser gerados usando o método download mencionado previamente. Todos os métodos necessários são acessíveis através do endpoint createAlert. O código vulnerável está na função convLrcStringByBinary do binário asm.
CVE-2023-6320: O endpoint setVlanStaticAddress exige três parâmetros: ip_address, bcast_address e netmask, todos enviados para um comando do sistema sem sanitização prévia. Para utilizar esse endpoint, é necessário primeiro acionar o endpoint createVirtualLan. Ambos os endpoints necessitam que o usuário possua a permissão READ_NETWORK_STATE. O usuário responsável pela execução desses comandos é o dbus, que, apesar de seu nome, possui privilégios comparáveis aos de um usuário root. O código que apresenta vulnerabilidade está localizado na função handle_set_vlan_static_address_command da biblioteca libwca2܂so.
Prevenção
De acordo com a ISH, a principal medida para aumentar a segurança das Smart TVs, que, por possuírem conexão com a internet, estão passíveis de ataques como os mencionados, é checar com frequência por atualizações de softwares, sistemas operacionais e aplicativo.
Além disso, outras dicas são:
Rede segura: Sempre conectar a TV a uma rede de Wi-Fi de confiança, que utilize protocolos de segurança avançados, como WPA2 ou WPA3.
Controle de privacidade: Logo no início do uso, revisar e ajustar as configurações de privacidade da TV. Desative a coleta de dados ou funcionalidades que você não deseja usar, e esteja ciente dos termos de serviço e políticas dos aplicativos instalados.
Gerenciamento de aplicativos: Instale apenas programas e serviços de fontes confiáveis, como a LG Content Store. Aplicativos de fontes desconhecidas podem conter malware ou outras vulnerabilidades de segurança.
Senhas fortes: Caso o modelo da televisão permita a criação de diferentes perfis de usuário ou contas, utilize credenciais fortes e únicas para cada uma delas.
Bloqueio físico e de tela: Se aplicável, use recursos de bloqueio de tela para impedir acessos não autorizados à sua TV. Além disso, considere o uso de mecanismos físicos de segurança, como cadeados ou sistemas de alarme, se a TV estiver em um local acessível ao público.
Monitoramento: Fique atento a comportamentos anormais em sua TV, como desempenho lento ou apps que iniciam por conta própria, pois podem ser indícios de problemas de segurança.
Engenharia social: Esteja ciente das táticas de engenharia social que podem ser usadas para enganá-lo a fornecer acesso ou informações pessoais. Nunca compartilhe suas senhas ou dados sensíveis sem verificar a identidade do solicitante e a legitimidade do pedido.