
Untersucht den Android-ContactsProvider-Seitenkanal von CVE-2026-0075 mit einem PoC ohne Berechtigungen und ermöglicht so eine Root-Cause-Analyse sowie den Vergleich zwischen gepatchter und verwundbarer Version.
Ein Android-Forschungsprototyp für kontrollierte Labore zur Bewertung des mit CVE-2026-0075 in ContactsProvider2 verbundenen beobachtbaren Verhaltens.
CVE-2026-0075 ist ein Problem der lokalen Rechteausweitung (Elevation of Privilege) in Android, das ContactsProvider2 betrifft. Das öffentliche Advisory beschreibt einen möglichen Pfad zum Zugriff auf die Kontaktdatenbank durch SQL-Injection ohne Benutzerinteraktion. Android stuft das Problem als Hoch ein und führt Android 14, 15, 16 und 16-qpr2 als betroffene AOSP-Versionen auf. Geräte mit dem Sicherheits-Patch-Level 2026-06-05 oder höher beheben die Probleme des Bulletins vom Juni 2026.
Die enthaltene App ist ein eigenständiger Java/Android-PoC, der absichtlich weder READ_CONTACTS noch WRITE_CONTACTS deklariert. Sie soll autorisierten Forschern helfen, das Verhalten an Berechtigungsgrenzen und die Ausnahmebehandlung auf kontrollierten Builds zu vergleichen.
Dieses Repository dient ausschließlich der autorisierten Sicherheitsforschung.
Das Projekt erhebt keinen Anspruch auf einen universellen Ausnutzungspfad. Es dokumentiert eine kontrollierte Beobachtung, die gegen den Ziel-Build, dessen Patch-Level und dessen ContactsProvider-Implementierung validiert werden muss.
.
├── no-permission-probe/ Standalone Android application and PowerShell helpers
│ ├── build.ps1 Compiles, packages, aligns, and signs a debug APK
│ ├── run-poc.ps1 Installs the APK and starts the controlled probe
│ ├── AndroidManifest.xml No READ_CONTACTS or WRITE_CONTACTS declaration
│ ├── res/ Android resources
│ └── src/ Application source
├── CONTRIBUTING.md Contribution and research-data requirements
├── SECURITY.md Vulnerability reporting guidance
└── .gitignore Local build and IDE exclusions
Der öffentliche AOSP-Fix bb9f36b3ff6d42136afb61d527e1e8f67242fe32 trägt den Titel Fix side channel attacks in CP2. Er ändert ContactsProvider2 so, dass JSON-bezogene SQLiteException-Meldungen für Aufrufer ohne READ_CONTACTS entfernt werden, und bezieht die Cursor-Materialisierung in den Ausnahmebehandlungspfad ein. Dieser PoC ist für einen kontrollierten Vorher/Nachher-Vergleich des Verhaltens konzipiert; er ersetzt keine Patch-Validierung.
javac, jar und keytool im PATH verfügbar sindandroid-3536.0.0adb)Setzen Sie ANDROID_HOME vor dem Build auf das SDK-Stammverzeichnis. ANDROID_SDK_ROOT kann von Ihrer lokalen Toolchain ebenfalls verwendet werden, aber die bereitgestellten Skripte lesen ANDROID_HOME.
$env:ANDROID_HOME = 'C:\Android\Sdk'
Vom Stammverzeichnis des Repositories:
Set-Location .\no-permission-probe
.\build.ps1
Das signierte Debug-APK wird nach no-permission-probe\build\probe.apk geschrieben. Das Verzeichnis build ist von der Versionskontrolle ausgeschlossen.
Starten Sie einen autorisierten Emulator oder ein Testgerät, das nur synthetische Kontakte enthält.
Bestätigen Sie Gerät und Patch-Level:
adb devices
adb shell getprop ro.build.version.security_patch
Erstellen Sie die App und führen Sie dann Folgendes aus:
Set-Location .\no-permission-probe
.\run-poc.ps1
Prüfen Sie nur die App-Oberfläche und das eingegrenzte Log-Tag:
adb logcat -s CVE20260075Probe:I
Das Hilfsskript für den Lauf wählt eine exakte data/<id>-URI vom verbundenen Testgerät aus und startet die Activity mit einer Leseberechtigung. Verwenden Sie es nicht, wenn dieses Verhalten nicht ausdrücklich autorisiert ist.
Für ein belastbares Ergebnis erfassen Sie bei jedem Lauf Folgendes:
Vergleichen Sie ein bekanntermaßen verwundbares Labor-Image mit einem Image, das den Fix vom Juni 2026 enthält. Das erwartete Behebungssignal besteht darin, dass zutreffende JSON-bezogene SQLite-Fehler, die an Aufrufer ohne READ_CONTACTS zurückgegeben werden, durch eine generische Meldung ersetzt werden; dies belegt für sich genommen nicht das Fehlen jedes beobachtbaren Orakels.
Diese CVE wurde öffentlich bekannt gegeben und im Android Security Bulletin vom Juni 2026 behoben. Melden Sie aktuelle Schwachstellen in Android-Produkten direkt über den Prozess Android Security. Siehe SECURITY.md für repositoryspezifische Hinweise.
bb9f36b3ff6d42136afb61d527e1e8f67242fe32Lizenziert unter der Apache License 2.0.