Samsung Knox: Vulnerabilidade de 8 anos permitia acesso interno a smartphones Galaxy
Uma falha crítica no subsistema PROCA da Samsung, parte da plataforma Knox, permaneceu oculta por quase oito anos, permitindo que aplicativos comuns corrompessem a memória do kernel do Android. A vulnerabilidade CVE-2026-20971 afetou uma vasta gama de dispositivos Galaxy.
MundiX News·26 de junho de 2026·6 min de leitura·👁 1 views
A segurança robusta, quando falha, pode se tornar um vetor de ataque perigoso. Por quase oito anos, o mecanismo de segurança Samsung KNOX continha uma falha que permitia que um aplicativo comum corrompesse a memória do kernel do Android. A vulnerabilidade, identificada como CVE-2026-20971, afetou uma ampla gama de smartphones Galaxy, desde a série S9 até os modelos S25, incluindo dispositivos das séries A e aqueles equipados com processadores Exynos e Qualcomm. A Samsung corrigiu o problema na atualização de segurança de janeiro de 2026, mas os pesquisadores apenas agora divulgaram os detalhes técnicos.
A falha não residia em navegadores, aplicativos de mensagens ou softwares isolados, mas sim no PROCA, o subsistema proprietário da Samsung responsável pelo controle de integridade de processos. O PROCA, parte integrante da plataforma KNOX, tem a função de impedir a execução de programas não autorizados. Dentro do PROCA, um componente chamado FIVE monitora quais arquivos e processos o sistema considera confiáveis. Para cada processo, o FIVE mantém um objeto individual com dados de integridade, como nível de confiança atual, rótulos, arquivos associados e outros parâmetros de serviço. O estado desses objetos muda dinamicamente durante a operação normal do Android, como ao iniciar um programa, criar um novo processo ou carregar um arquivo executável na memória. Quanto mais transições ocorrem, mais complexo se torna gerenciar corretamente a liberação de dados antigos e evitar que outras partes do kernel acessem objetos que já foram desalocados.
Foi exatamente nesse ponto que ocorreu uma clássica falha de use-after-free, ou acesso à memória após sua liberação. O Android disponibiliza informações sobre a integridade dos processos através do sistema de arquivos virtual procfs. O manipulador de requisições obtinha um ponteiro para o objeto de integridade, mas não o mantinha na memória durante a leitura. Em um código seguro, o acesso a um objeto com tempo de vida limitado deveria seguir um padrão como este:
c
/*
* Esquema seguro: enquanto a função lê o objeto,
* um contador de referências impede que o kernel libere a memória.
*/state =integrity_get(task);if(state ==NULL)return;read_integrity(state);integrity_put(state);
Na seção vulnerável, o kernel obtinha um ponteiro bruto e, em seguida, podia alternar para outra tarefa. Durante essa pausa, o processo alvo conseguia iniciar outro programa. O Android criava um novo objeto de integridade para o processo, e o objeto anterior era liberado. Quando a operação inicial era retomada, o código acessava o endereço de memória antigo, que já poderia pertencer a um objeto completamente diferente. Um exemplo simplificado da falha seria:
c
/*
* Esquema simplificado da falha: o ponteiro é obtido,
* mas o objeto não está protegido contra liberação.
*/state = task->integrity;switch_to_another_task();/* A memória no endereço 'state' pode já ter sido liberada. */read_integrity(state);
Para um atacante, uma falha como essa é valiosa porque a área de memória liberada pode ser explorada para inserir outros dados. Pesquisadores identificaram múltiplos primitivos de corrupção de memória, incluindo vazamento de dados limitado, a capacidade de influenciar operações de escrita específicas e um caminho para chamar uma função através de um ponteiro obsoleto. Embora a LucidBit Labs não tenha publicado a cadeia de exploração completa para controle total do dispositivo, eles observaram que o conjunto de primitivos, em teoria, poderia levar à execução de código no kernel e ao controle completo do smartphone.
A exploração da CVE-2026-20971 não é trivial. A janela entre a obtenção do ponteiro e a liberação da memória dura apenas algumas instruções do processador. O atacante precisa atingir o raro momento de troca de tarefas, aguardar a liberação do objeto e forçar o kernel a reutilizar a área de memória desejada. Uma complexidade adicional é criada por um cache de memória separado para objetos de integridade, o que significa que o atacante não pode simplesmente preencher a memória com dados arbitrários. Em um dos caminhos de exploração investigados, o ponteiro obsoleto poderia levar à chamada de uma função através de um endereço corrompido. Kernels modernos do Android são protegidos pelo mecanismo de Controle de Fluxo de Integridade (CFI). Antes de uma chamada indireta, o CFI verifica se a função corresponde ao tipo esperado. A substituição de um ponteiro por um endereço arbitrário, nesse caso, resultaria em uma parada do kernel, em vez de transferir o controle para o atacante. Os pesquisadores consideraram o CFI uma barreira eficaz que fechou o caminho mais óbvio para a tomada de controle do dispositivo.
Apesar disso, a proteção não eliminou a falha em si. Outras variantes de acesso à memória já liberada permitiram obter resultados úteis para ataques subsequentes. A principal conclusão da pesquisa é outra: mecanismos de segurança complexos, se adicionarem uma quantidade significativa de código não padrão com lógica de gerenciamento de memória difícil ao kernel, acabam por expandir a superfície de ataque. A vulnerabilidade é acessível localmente, o que significa que um atacante precisaria convencer o proprietário a instalar um aplicativo malicioso. Ataques remotos via sites ou mensagens não foram descritos na pesquisa. Usuários de Galaxy devem verificar o nível de patches de segurança do Android e instalar a atualização de janeiro de 2026 da Samsung ou um pacote mais recente, se o modelo continuar recebendo atualizações. Proprietários de dispositivos sem suporte a atualizações devem ter atenção redobrada ao instalar programas de fontes desconhecidas.
A LucidBit Labs publicou uma análise técnica completa, detalhando o funcionamento do FIVE e as causas da falha de gerenciamento de memória. A empresa confirmou o problema em modelos como Galaxy S21, S22, S24 e A54, além de indicar que a falha afetou todas as versões do Android testadas e ambas as principais famílias de processadores móveis da Samsung.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
A segurança robusta, quando falha, pode se tornar um vetor de ataque perigoso. Por quase oito anos, o mecanismo de segurança Samsung KNOX continha uma falha que permitia que um aplicativo comum corrompesse a memória do kernel do Android. A vulnerabilidade, identificada como CVE-2026-20971, afetou uma ampla gama de smartphones Galaxy, desde a série S9 até os modelos S25, incluindo dispositivos das séries A e aqueles equipados com processadores Exynos e Qualcomm. A Samsung corrigiu o problema na atualização de segurança de janeiro de 2026, mas os pesquisadores apenas agora divulgaram os detalhes técnicos.
A falha não residia em navegadores, aplicativos de mensagens ou softwares isolados, mas sim no PROCA, o subsistema proprietário da Samsung responsável pelo controle de integridade de processos. O PROCA, parte integrante da plataforma KNOX, tem a função de impedir a execução de programas não autorizados. Dentro do PROCA, um componente chamado FIVE monitora quais arquivos e processos o sistema considera confiáveis. Para cada processo, o FIVE mantém um objeto individual com dados de integridade, como nível de confiança atual, rótulos, arquivos associados e outros parâmetros de serviço. O estado desses objetos muda dinamicamente durante a operação normal do Android, como ao iniciar um programa, criar um novo processo ou carregar um arquivo executável na memória. Quanto mais transições ocorrem, mais complexo se torna gerenciar corretamente a liberação de dados antigos e evitar que outras partes do kernel acessem objetos que já foram desalocados.
Foi exatamente nesse ponto que ocorreu uma clássica falha de use-after-free, ou acesso à memória após sua liberação. O Android disponibiliza informações sobre a integridade dos processos através do sistema de arquivos virtual procfs. O manipulador de requisições obtinha um ponteiro para o objeto de integridade, mas não o mantinha na memória durante a leitura. Em um código seguro, o acesso a um objeto com tempo de vida limitado deveria seguir um padrão como este:
/*
* Esquema seguro: enquanto a função lê o objeto,
* um contador de referências impede que o kernel libere a memória.
*/
state = integrity_get(task);
if (state == NULL)
return;
read_integrity(state);
integrity_put(state);
Na seção vulnerável, o kernel obtinha um ponteiro bruto e, em seguida, podia alternar para outra tarefa. Durante essa pausa, o processo alvo conseguia iniciar outro programa. O Android criava um novo objeto de integridade para o processo, e o objeto anterior era liberado. Quando a operação inicial era retomada, o código acessava o endereço de memória antigo, que já poderia pertencer a um objeto completamente diferente. Um exemplo simplificado da falha seria:
/*
* Esquema simplificado da falha: o ponteiro é obtido,
* mas o objeto não está protegido contra liberação.
*/
state = task->integrity;
switch_to_another_task();
/* A memória no endereço 'state' pode já ter sido liberada. */
read_integrity(state);
Para um atacante, uma falha como essa é valiosa porque a área de memória liberada pode ser explorada para inserir outros dados. Pesquisadores identificaram múltiplos primitivos de corrupção de memória, incluindo vazamento de dados limitado, a capacidade de influenciar operações de escrita específicas e um caminho para chamar uma função através de um ponteiro obsoleto. Embora a LucidBit Labs não tenha publicado a cadeia de exploração completa para controle total do dispositivo, eles observaram que o conjunto de primitivos, em teoria, poderia levar à execução de código no kernel e ao controle completo do smartphone.
A exploração da CVE-2026-20971 não é trivial. A janela entre a obtenção do ponteiro e a liberação da memória dura apenas algumas instruções do processador. O atacante precisa atingir o raro momento de troca de tarefas, aguardar a liberação do objeto e forçar o kernel a reutilizar a área de memória desejada. Uma complexidade adicional é criada por um cache de memória separado para objetos de integridade, o que significa que o atacante não pode simplesmente preencher a memória com dados arbitrários. Em um dos caminhos de exploração investigados, o ponteiro obsoleto poderia levar à chamada de uma função através de um endereço corrompido. Kernels modernos do Android são protegidos pelo mecanismo de Controle de Fluxo de Integridade (CFI). Antes de uma chamada indireta, o CFI verifica se a função corresponde ao tipo esperado. A substituição de um ponteiro por um endereço arbitrário, nesse caso, resultaria em uma parada do kernel, em vez de transferir o controle para o atacante. Os pesquisadores consideraram o CFI uma barreira eficaz que fechou o caminho mais óbvio para a tomada de controle do dispositivo.
Apesar disso, a proteção não eliminou a falha em si. Outras variantes de acesso à memória já liberada permitiram obter resultados úteis para ataques subsequentes. A principal conclusão da pesquisa é outra: mecanismos de segurança complexos, se adicionarem uma quantidade significativa de código não padrão com lógica de gerenciamento de memória difícil ao kernel, acabam por expandir a superfície de ataque. A vulnerabilidade é acessível localmente, o que significa que um atacante precisaria convencer o proprietário a instalar um aplicativo malicioso. Ataques remotos via sites ou mensagens não foram descritos na pesquisa. Usuários de Galaxy devem verificar o nível de patches de segurança do Android e instalar a atualização de janeiro de 2026 da Samsung ou um pacote mais recente, se o modelo continuar recebendo atualizações. Proprietários de dispositivos sem suporte a atualizações devem ter atenção redobrada ao instalar programas de fontes desconhecidas.
A LucidBit Labs publicou uma análise técnica completa, detalhando o funcionamento do FIVE e as causas da falha de gerenciamento de memória. A empresa confirmou o problema em modelos como Galaxy S21, S22, S24 e A54, além de indicar que a falha afetou todas as versões do Android testadas e ambas as principais famílias de processadores móveis da Samsung.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.