
Discussão detalhada sobre a vulnerabilidade do Zygote CVE-2024-31317
O CVE-2024-31317 fornece acesso sem privilégios a qualquer uid e escopo SELinux disponível para aplicativos Android legítimos. Isso fornece acesso ao uid 1000 (system) e ao uid 2000 (shell), e pode ser acionado inteiramente a partir de um aplicativo sem privilégios, permitindo a persistência de qualquer funcionalidade que o utilize.
Este exploit deve se aplicar à maioria das versões do Android anteriores ao patch de segurança de junho de 2024 e ao Android 9+. Alguns fornecedores podem ter feito cherry-pick desta alteração em versões mais antigas. Especificamente, isso significa Android 9-14 com um patch de segurança de 2024-06-01 ou anterior.
A vulnerabilidade é trivial para Android 11 e versões anteriores. Consulte as fontes anexas para instruções de implementação em versões anteriores à 12.
O privilégio de shell deve ser o mesmo que o acesso direto via adb shell. O privilégio de system é mais questionável. @oddbyte está mantendo uma lista de acessos disponíveis a system, especificamente relacionados a esta vulnerabilidade. As permissões de contexto de prop padrão estão listadas em property_contexts e system_app.te.
Esta pesquisa baseou-se fortemente nas seguintes fontes e no código-fonte real do Android: