Dieser Artikel richtet sich an Entwickler mit Apps, deren Implementierung des Handlers WebViewClient.onReceivedSslError unsicher ist.
Aktuelle Informationen
Mindestens eine Ihrer Apps enthält eine unsichere Implementierung des Handlers onReceivedSslError. Dadurch wird die App anfällig für Man-in-the-Middle-Angriffe. Ein Angreifer könnte die betreffenden WebView-Inhalte ändern, übertragene Informationen wie Anmeldedaten lesen und mithilfe von JavaScript Code in der App ausführen. Weitere Informationen dazu finden Sie in der entsprechenden Nachricht in Ihrer Play Console. Nach Ablauf der in der Play Console angezeigten Fristen werden alle Apps, die nicht behobene Sicherheitslücken enthalten, aus Google Play entfernt.
Erforderliche Maßnahmen
- Melden Sie sich in der Play Console an und gehen Sie zum Bereich "Warnmeldungen". Dort sehen Sie, welche Apps betroffen sind und bis wann Sie diese Probleme beheben müssen.
- Aktualisieren Sie die betroffenen Apps und beheben Sie die Sicherheitslücke.
- Reichen Sie aktualisierte Versionen Ihrer betroffenen Apps ein.
Nachdem Ihre App neu eingereicht wurde, wird sie noch einmal überprüft. Dieser Vorgang kann mehrere Stunden dauern. Wenn die App die Überprüfung besteht und veröffentlicht wird, sind keine weiteren Maßnahmen erforderlich. Falls die App die Überprüfung nicht besteht, wird die neue App-Version nicht veröffentlicht und Sie erhalten eine Benachrichtigung per E-Mail.
Weitere Details
- Zum Beheben des Problems müssen Sie den Code Ihrer App aktualisieren, um SslErrorHandler.proceed() aufzurufen, wenn das vom Server zur Verfügung gestellte Zertifikat Ihre Anforderungen erfüllt. Andernfalls sollte SslErrorHandler.cancel() aufgerufen werden. Beachten Sie bei der Prüfung des Zertifikats folgende Punkte:
-
Eine App wird möglicherweise gemeldet, wenn sie nicht genügend Prüfungen auf Gültigkeit des Zertifikats enthält. Es reicht beispielsweise zum Nachweis der Gültigkeit nicht aus, nur den Rückgabewert von getPrimaryError zu prüfen.
-
Werden die meisten durch SslError.getPrimaryError zurückgegebenen SSL-Fehler ignoriert, ist das ein Sicherheitsproblem. Beachten Sie, dass getPrimaryError aus einer Reihe von Fehlern den schwerwiegendsten zurückgibt. Wenn also
getPrimaryError() != SSL_UNTRUSTED
wahr ist, kann die Verbindung dennoch einen SSL_UNTRUSTED Fehler enthalten.
-
-
Wenn Sie die Bibliothek eines Drittanbieters verwenden, auf die die Sicherheitslücke zurückzuführen ist, benachrichtigen Sie den Anbieter, um dieses Problem zu beheben.
Weitere Informationen zum SSL-Fehlerhandler finden Sie in unserer Android-Entwickler-Hilfe. Sonstige technische Fragen können Sie auf https://www.stackoverflow.com/questions posten. Bitte verwenden Sie dabei die Tags "android-security" und "SslErrorHandler".
Obwohl diese Probleme möglicherweise nicht alle Apps betreffen, in denen WebView SSL verwendet wird, ist es empfehlenswert, sämtliche Sicherheitspatches zu installieren. Apps mit Sicherheitslücken, durch die Nutzer zu Schaden kommen können, werden unter Umständen als gefährliche Produkte eingestuft, da sie gegen die Inhaltsrichtlinien und gegen Abschnitt 4.4 der Vereinbarung für den Entwicklervertrieb verstoßen.
Hilfe und Support
Technische Fragen zu dieser Sicherheitslücke können Sie bei Stack Overflow posten. Bitte verwenden Sie dabei das Tag "android-security". Weitere Informationen zu den Maßnahmen, die zur Lösung dieses Problems erforderlich sind, erhalten Sie von unserem Entwicklersupportteam.