Falhas no teclado padrão da LG permitiam execução remota de código em smartphones

Falhas no teclado padrão da LG permitiam execução remota de código em smartphones

Duas vulnerabilidades no processo de atualização de pacotes de escrita manual do teclado LGEIME permitiam manipulação por intermediário, gravação de arquivos no ambiente do aplicativo e carregamento de biblioteca nativa maliciosa com privilégios elevados.

ComponenteTeclado padrão de smartphones LG, identificado como LGEIME, incluindo o mecanismo de atualização de pacotes de escrita manual por idioma.
VetorManipulação do download de pacotes de idioma feito por HTTP a partir de servidor rígido no aplicativo, com alteração do arquivo de metadados files.txt durante uma posição de intermediário na rede.
ImpactoExecução remota de código com privilégios elevados no processo do teclado, com possibilidade de atuação como registrador de teclas e exposição de dados digitados pelo usuário.
PrioridadeAplicar a atualização de segurança de maio da LG que corrige a falha consolidada como LVE-SMP-170025 e tratar redes não confiáveis como condição de risco para dispositivos sem correção.
ArtefatosPacotes em /data/data/com.lge.ime/VODB/, metadados files.txt, bibliotecas nativas .so e configuração /data/data/com.lge.ime/files/Engine.properties.
Modelos testadosA exploração foi demonstrada em aparelhos LG G4, LG G5 e LG G6; o componente era descrito como presente em modelos LG convencionais com o teclado padrão.
Resumo técnico

Duas vulnerabilidades no teclado padrão de smartphones LG afetavam o fluxo usado pelo aplicativo LGEIME para obter e atualizar pacotes de escrita manual por idioma. O problema não estava em uma tela isolada do teclado, mas na cadeia de atualização de recursos consumidos pelo próprio processo do método de entrada. Como teclados móveis recebem senhas, códigos temporários, mensagens, buscas e dados de autenticação, a falha tinha impacto acima de uma atualização comum de conteúdo: ao controlar o material baixado pelo aplicativo, um operador em posição de intermediário poderia conduzir o processo até o carregamento de uma biblioteca nativa dentro do contexto do teclado.

O fluxo vulnerável combinava duas condições. A primeira era o uso de HTTP para baixar arquivos de idioma a partir de um servidor codificado no aplicativo, sem proteção adequada contra alteração do tráfego. A segunda era uma falha de validação no tratamento dos nomes e caminhos de arquivos listados nos metadados do pacote. Com isso, o arquivo files.txt, que deveria apenas descrever recursos legítimos de um pacote de idioma, podia ser modificado para incluir entradas adicionais e direcionar a gravação de arquivos para locais sensíveis dentro da área do pacote do teclado.

A correção foi publicada pela LG na atualização de segurança de maio, com as duas vulnerabilidades tratadas sob o identificador LVE-SMP-170025. O cenário técnico informado não descreve exploração ativa em campo nem atribui a falha a um ator específico. O risco confirmado é a possibilidade de execução remota de código por manipulação da atualização de recursos do teclado, desde que o atacante consiga interferir na conexão usada pelo dispositivo vulnerável para baixar o pacote ou sua atualização.

Fluxo técnico

O teclado LG incluía suporte a escrita manual em diferentes idiomas. O inglês vinha pré-instalado, enquanto outros idiomas podiam ser adicionados pelo usuário. Quando um novo idioma era instalado, ou quando um pacote existente precisava ser atualizado, o aplicativo consultava um servidor definido no próprio componente e baixava os arquivos correspondentes ao idioma solicitado. O ponto crítico é que esse transporte ocorria por HTTP, expondo o conteúdo da resposta a alteração por um intermediário de rede. Em redes Wi-Fi comprometidas, gateways maliciosos ou qualquer posição capaz de modificar o tráfego, o pacote esperado poderia ser substituído por uma versão controlada pelo operador.

Cada pacote de escrita manual era representado por uma pasta separada em /data/data/com.lge.ime/VODB/. Dentro desse conjunto havia recursos associados a um modelo de aprendizado de máquina e um arquivo files.txt. Esse metadado descrevia os arquivos do pacote, incluindo nome, hash MD5 e tamanho. A presença desses campos indica uma tentativa de controlar integridade e composição do pacote, mas a cadeia falhava antes disso porque o próprio metadado podia ser alterado durante o transporte inseguro. Ao modificar o files.txt, o intermediário podia adicionar entradas que não pertenciam ao pacote original e fazer com que o processo do teclado requisitasse arquivos controlados pelo invasor.

A segunda parte da exploração dependia de como os nomes de arquivos eram interpretados. O nome listado em files.txt influenciava o local de gravação do recurso dentro do ambiente do aplicativo. Por meio de travessia de caminho, uma entrada fabricada podia deixar de representar apenas um nome de recurso e passar a apontar para outro caminho aceito dentro da área isolada do pacote do teclado. Esse comportamento permitia colocar um arquivo em posição útil para o aplicativo e também sobrescrever a configuração Engine.properties, que definia bibliotecas carregadas pelo mecanismo do teclado.

O aplicativo aceitava bibliotecas nativas como parte de pacotes de idioma e atribuía permissão executável a arquivos com extensão .so. Ao inserir uma biblioteca nativa fabricada e alterar Engine.properties para apontar para ela, o atacante não precisava explorar uma corrupção de memória separada. O carregamento ocorreria quando o processo do teclado fosse reiniciado e lesse a configuração modificada. A execução resultante aconteceria no contexto do componente de entrada, ampliando o impacto para captura de conteúdo digitado e acesso a dados processados pelo teclado.

Superfície afetada

A superfície afetada inclui dispositivos LG que usam o teclado LGEIME e seu mecanismo de atualização de pacotes de escrita manual. O contexto técnico informa que as vulnerabilidades eram específicas de aparelhos LG e foram comprovadas em modelos LG G4, LG G5 e LG G6. A exposição é mais relevante quando o dispositivo busca ou atualiza idiomas de escrita manual em uma rede onde o tráfego HTTP possa ser observado e alterado. Como a cadeia envolve um recurso legítimo do teclado, o usuário não precisaria instalar um aplicativo externo para que o componente vulnerável fosse alcançado.

A condição de rede é importante para delimitar o risco. O material recebido sustenta um cenário de Man-in-the-Middle contra a conexão insegura do processo de atualização, não uma exploração universal sem interação de rede. Também não há base para afirmar comprometimento de dados em larga escala, uso por campanha criminosa ou exploração pública. O impacto técnico permanece severo porque o alvo é um método de entrada do sistema, mas a análise defensiva deve manter a distinção entre possibilidade de execução de código e evidência de abuso real.

  • Teclado padrão LG LGEIME com suporte a pacotes de escrita manual por idioma.
  • Dispositivos LG vulneráveis antes da atualização de segurança de maio que consolidou a correção em LVE-SMP-170025.
  • Modelos LG G4, LG G5 e LG G6 foram citados como aparelhos nos quais a exploração foi testada e comprovada.
  • Cenários de maior risco envolvem redes nas quais um intermediário consiga alterar respostas HTTP usadas pelo mecanismo de atualização.
  • Arquivos relevantes ficam dentro da área do aplicativo, incluindo diretórios de pacotes em /data/data/com.lge.ime/VODB/ e a configuração Engine.properties.
Hunting e telemetria

A investigação defensiva deve partir do comportamento do componente de teclado, não de indicadores externos de campanha. Como o vetor depende da alteração de pacotes em trânsito, a telemetria de rede pode mostrar conexões HTTP do processo do teclado para servidor de recursos de idioma, especialmente em momentos de instalação ou atualização de escrita manual. Em ambientes corporativos que inspecionam tráfego móvel por proxy, MDM ou rede Wi-Fi gerenciada, vale procurar respostas alteradas, metadados incompatíveis e downloads de arquivos com extensão .so associados a uma atualização que deveria conter apenas recursos esperados de idioma.

No endpoint, a trilha mais relevante está na composição do diretório do aplicativo. A presença de bibliotecas nativas inesperadas em áreas de pacote de idioma, alterações recentes em Engine.properties ou entradas de files.txt com caminhos anômalos são sinais compatíveis com tentativa de exploração. Como o ataque descrito depende do reinício do processo para carregar a biblioteca indicada na configuração, eventos de falha, reinicialização do teclado, mudança de idioma ou recriação do serviço de entrada podem ajudar a estabelecer uma linha do tempo.

Equipes de resposta não devem tratar qualquer arquivo .so no dispositivo como evidência suficiente de exploração, pois o próprio aplicativo aceitava bibliotecas nativas como parte do desenho do pacote. O valor probatório está na combinação de origem do download, alteração do metadado, caminho incomum, permissão executável e referência explícita na configuração do mecanismo. Em aparelhos já atualizados, a análise serve principalmente para verificar se houve alteração anterior à correção e se o dispositivo carrega artefatos persistentes dentro do ambiente do teclado.

  • Conexões HTTP feitas pelo teclado durante instalação ou atualização de pacotes de escrita manual.
  • files.txt com entradas extras, nomes contendo travessia de caminho ou referências que não correspondam a recursos legítimos do idioma.
  • Bibliotecas .so recém-gravadas em diretórios de pacote de idioma ou em caminhos incomuns dentro de /data/data/com.lge.ime/.
  • Alteração de /data/data/com.lge.ime/files/Engine.properties para apontar uma biblioteca nativa não esperada.
  • Reinício do processo do teclado logo após downloads de pacote, seguido de carregamento de biblioteca nativa fora do padrão observado no dispositivo.
Mitigação

A resposta principal é aplicar a atualização de segurança de maio da LG que corrige a falha consolidada como LVE-SMP-170025. Como o problema está no componente padrão do fabricante, controles no nível do aplicativo de usuário têm alcance limitado. Em frotas corporativas, a prioridade deve ser confirmar o nível de atualização dos aparelhos LG afetados, bloquear ou restringir dispositivos sem correção em ambientes que processam credenciais sensíveis e revisar políticas de conexão a redes não confiáveis até que a atualização esteja validada.

A contenção em um caso suspeito deve preservar o estado do dispositivo antes de limpezas agressivas. A equipe deve coletar metadados do diretório do teclado, horários de modificação, lista de arquivos de pacotes de idioma e configuração do mecanismo, observando a política de privacidade aplicável ao dispositivo. Em seguida, o aparelho deve receber a correção oficial e ter os pacotes de idioma e a configuração do teclado validados contra uma instalação conhecida como íntegra. Se houver indício de carregamento de biblioteca não autorizada, a avaliação deve incluir troca de credenciais digitadas no período de exposição, especialmente senhas e fatores de autenticação inseridos pelo teclado.

Medidas compensatórias incluem reduzir o uso de redes abertas por aparelhos sem correção, monitorar tráfego HTTP de componentes de sistema quando a arquitetura de rede permitir e orientar usuários a manter atualizações do fabricante instaladas. A mitigação não deve depender de o usuário identificar visualmente o ataque, pois o fluxo usa o próprio mecanismo de atualização do teclado e pode ocorrer sem sinais claros na interface. Para engenharia e segurança móvel, o caso reforça a necessidade de exigir transporte autenticado, validação rígida de caminhos, integridade de metadados e bloqueio de carregamento dinâmico de código a partir de conteúdo baixado como recurso.

  • Instalar a atualização de segurança de maio da LG que corrige LVE-SMP-170025.
  • Inventariar aparelhos LG com LGEIME e priorizar modelos citados como testados: LG G4, LG G5 e LG G6.
  • Evitar redes não confiáveis em dispositivos vulneráveis, especialmente antes de instalar ou atualizar idiomas de escrita manual.
  • Verificar files.txt, bibliotecas .so e Engine.properties em dispositivos suspeitos, preservando horários e metadados para análise.
  • Trocar credenciais digitadas em aparelho com evidência de carregamento de biblioteca não autorizada no teclado.
  • Validar que o mecanismo de atualização usa correção oficial do fabricante e que pacotes de idioma não mantêm artefatos gravados antes da atualização.

Postar um comentário

0 Comentários