
Ausführliche Diskussion der Zygote-Sicherheitslücke CVE-2024-31317
CVE-2024-31317 bietet privilegienlosen Zugriff auf jede UID und jeden SELinux-Bereich, der für normale Android-Apps verfügbar ist. Dies ermöglicht Zugriff auf UID 1000 (system) und UID 2000 (shell) und kann vollständig von einer privilegienlosen App ausgelöst werden, was die Persistenz jeder damit genutzten Funktionalität ermöglicht.
Dieser Exploit sollte auf die meisten Android-Versionen vor dem Sicherheitsupdate vom Juni 2024 und Android 9+ zutreffen. Einige Hersteller haben diese Änderung möglicherweise in ältere Versionen übernommen. Konkret bedeutet dies Android 9–14 mit einem Sicherheitspatch vom 01.06.2024 oder niedriger.
Die Schwachstelle ist für Android-Versionen 11 und darunter trivial. Siehe die angehängten Quellen für Implementierungsanweisungen für Versionen vor 12.
shell-Berechtigung sollte dieselbe sein wie der direkte Zugriff über adb shell. system-Berechtigung ist fragwürdiger. @oddbyte pflegt eine Liste der verfügbaren system-Zugriffe, die speziell mit dieser Schwachstelle zusammenhängen. Die Standard-Prop-Kontextberechtigungen sind in property_contexts und system_app.te aufgeführt.
Diese Forschung basiert stark auf den folgenden Quellen und dem tatsächlichen Android-Quellcode: