Angreifbarkeit über die JavaScript-Schnittstelle verhindern

Die folgenden Informationen richten sich an Entwickler von Apps, die eine Sicherheitslücke wegen potenziellen Einschleusungen über die JavaScript-Schnittstelle aufweisen.

Aktuelle Informationen

Weitere Informationen dazu finden Sie in der entsprechenden Nachricht in der Play Console. Nachdem die in der Play Console angezeigten Fristen abgelaufen sind, werden alle Apps, die nicht behobene Sicherheitslücken enthalten, von Google Play entfernt.

Erforderliche Maßnahmen

  1. 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.
  2. Aktualisieren Sie die betroffenen Apps und beheben Sie die Sicherheitslücke.
  3. 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 wurde, 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

WebViews, die Objekte auf App-Ebene über addJavascriptInterface dem JavaScript-Code aussetzen und nicht vertrauenswürdige Webinhalte laden, sind angreifbar für Einschleusungen über die JavaScript-Schnittstelle. Die nicht vertrauenswürdigen Inhalte können alle Methoden der ausgesetzten Objekte ausführen, die mit @JavascriptInterface gekennzeichnet sind. Dies kann zu Datenlecks, Beschädigung von Daten oder einer willkürlichen Ausführung von Codes führen.

Wir empfehlen Ihnen, diese Sicherheitslücke zu schließen. Hierfür gibt es mehrere Möglichkeiten:

Option 1: Sorgen Sie dafür, dass WebViews der JavaScript-Schnittstelle keine Objekte hinzufügen

Achten Sie darauf, dass keine Objekte zur JavaScript-Schnittstelle oder zu einer WebView hinzugefügt werden, mit der nicht vertrauenswürdige Webinhalte geladen werden. Dazu haben Sie folgende zwei Möglichkeiten:

 

Achten Sie darauf, dass der JavaScript-Schnittstelle keine Objekte über Aufrufe von addJavascriptInterface hinzugefügt werden.

  1. Entfernen Sie über removeJavascriptInterface Objekte aus der JavaScript-Schnittstelle in shouldInterceptRequest, bevor WebView nicht vertrauenswürdige Inhalte lädt.

Option 2: Sorgen Sie dafür, dass WebViews nur Webinhalte laden, die vertrauenswürdig sind

Wenn Ihre App Objekte der JavaScript-Schnittstelle einer WebView aussetzen muss, achten Sie darauf, dass WebView keine Webinhalte über eine unverschlüsselte Verbindung lädt. Sie haben die Möglichkeit, in Ihrem Manifest für android:usesCleartextTraffic "false" festzulegen oder eine Netzwerksicherheitskonfiguration einzurichten, die HTTP-Datenverkehr blockiert. Alternativ können Sie dafür sorgen, dass die betroffenen WebViews keine URLs mit HTTP-Schemata über loadUrl laden.


Stellen Sie sicher, dass WebViews mit JavaScript-Schnittstellen keine ungeprüften URLs aus nicht vertrauenswürdigen Quellen laden, z. B. URLs aus nicht vertrauenswürdigen Intents.

Hilfe und Support

Falls Sie technische Fragen zu der Sicherheitsanfälligkeit haben, können Sie diese auf 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.

War das hilfreich?

Wie können wir die Seite verbessern?
false
Hauptmenü
2467346007319669458
true
Suchen in der Hilfe
true
true
true
true
true
5016068
false
false