
Detaillierte Diskussion der Zygote-Sicherheitslücke CVE-2024-31317
CVE-2024-31317 bietet nicht privilegierten Zugriff auf jede UID und jeden SELinux-Bereich, der normalen Android-Apps zur Verfügung steht. Dies ermöglicht Zugriff auf UID 1000 (system) und UID 2000 (shell) und kann vollständig von einer nicht privilegierten App ausgelöst werden, was die Persistenz jeder damit verwendeten 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 2024-06-01 oder niedriger.
Die Schwachstelle ist für Android-Versionen 11 und darunter trivial. Siehe die beigefügten Quellen für Implementierungsanleitungen für Versionen vor 12.
Der shell-Zugriff sollte dem direkten Zugriff über adb shell entsprechen. Der system-Zugriff ist fragwürdiger. @oddbyte pflegt eine Liste der verfügbaren system-Zugriffe, insbesondere in Bezug auf diese Schwachstelle. Die Standard-Berechtigungen für den Eigenschaftskontext sind in property_contexts und system_app.te aufgelistet.
Diese Forschung basiert stark auf den folgenden Quellen und dem eigentlichen Android-Quellcode: