Soluzione per la vulnerabilità JavaScript Interface Injection

Queste informazioni sono rivolte agli sviluppatori di app per cui esiste un problema di vulnerabilità JavaScript Interface Injection.

Situazione attuale

Leggi la notifica su Play ConsoleDopo le scadenze indicate in Play Console, le app che contengono vulnerabilità di sicurezza non corrette potrebbero essere rimosse da Google Play.

Azione richiesta

  1. Accedi a Play Console e vai alla sezione Avvisi per scoprire quali app sono interessate dai problemi e le scadenze per risolverli.
  2. Aggiorna le app interessate e correggi la vulnerabilità.
  3. Invia le versioni aggiornate delle app interessate.

Quando invii nuovamente le app, queste vengono riesaminate. Questa procedura può richiedere diverse ore. Se l'app supera il controllo e viene pubblicata correttamente, non sono necessari ulteriori interventi. Se invece l'app non supera il controllo, la nuova versione dell'app non verrà pubblicata e riceverai una notifica via email.

Ulteriori dettagli

I componenti WebView che espongono oggetti a livello di app al codice JavaScript tramite addJavascriptInterface e caricano contenuti web non attendibili sono soggetti alla vulnerabilità JavaScript Interface Injection. I contenuti non attendibili possono eseguire qualsiasi metodo degli oggetti esposti con @JavascriptInterface, con conseguenze quali fuga di dati, compromissione dei dati o addirittura esecuzione arbitraria di codice.

È consigliabile evitare questa vulnerabilità seguendo una delle procedure indicate sotto:

Opzione 1: fai in modo che i componenti WebView non aggiungano Oggetti all'interfaccia di JavaScript

Assicurati che non ci siano oggetti aggiunti all'interfaccia di JavaScript di ciascun componente WebView che carica contenuti web non attendibili. A tale scopo, puoi procedere in uno dei due seguenti modi:

 

Assicurati che non vengano mai aggiunti oggetti all'interfaccia di JavaScript tramite chiamate a addJavascriptInterface.

  1. Rimuovi oggetti dall'interfaccia JavaScript in shouldInterceptRequest tramite removeJavascriptInterface, prima che vengano caricati contenuti non attendibili dal componente WebView.

Opzione 2: assicurati che i componenti WebView non carichino contenuti web non attendibili

Se la tua app deve esporre oggetti nell'interfaccia di JavaScript di un componente WebView, assicurati che il componente WebView non carichi contenuti web tramite una connessione non criptata. Puoi impostare android:usesCleartextTraffic su false nel file manifest oppure impostare un valore Network Security Config che non consenta il traffico HTTP. In alternativa, puoi fare in modo che tutti i componenti WebView interessati non carichino URL con schemi HTTP tramite loadUrl.


Assicurati che i componenti WebView con interfacce di JavaScript non carichino URL non controllati derivanti da fonti non attendibili (ad esempio, URL ottenuti da intent non attendibili).

Siamo a tua disposizione

Puoi pubblicare eventuali domande tecniche relative alla vulnerabilità su Stack Overflow utilizzando il tag "android-security". Per chiarimenti sui passaggi da seguire per risolvere il problema, puoi contattare il nostro team di assistenza per gli sviluppatori.

È stato utile?

Come possiamo migliorare l'articolo?
false
Menu principale
18031005048951623138
true
Cerca nel Centro assistenza
true
true
true
true
true
5016068
false
false