Queste informazioni sono rivolte agli sviluppatori di app che presentano vulnerabilità di compromissione dello schema di intent.
Situazione attuale
Una o più delle tue app presentano un problema di compromissione dello schema di intent che potrebbe consentire a reti e siti web dannosi di accedere a componenti privati delle app. Leggi la notifica su Play Console. Dopo le scadenze indicate in Play Console, le app che contengono vulnerabilità di sicurezza non corrette potrebbero essere rimosse da Google Play.
Azione richiesta
-
Accedi a Play Console e vai alla sezione Avvisi per scoprire quali app sono interessate dai problemi e le scadenze per risolverli.
-
Aggiorna le app interessate dai problemi tramite i passaggi indicati sotto.
-
Invia le versioni aggiornate delle tue app coinvolte.
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 visitano contenuti web non attendibili, analizzano i link intent:/ mediante Intent.parseUri e inviano tali Intent tramite startActivity sono vulnerabili alla compromissione dello schema di intent. Questi componenti WebView possono essere indotti con l'inganno da contenuti web dannosi a inviare Intent arbitrari ai componenti privati delle app Questo può causare compromissioni delle app quali il furto di dati privati delle app, che vengono manipolati dai componenti in questione. Tieni presente che i contenuti web non attendibili includono contenuti da domini attendibili che vengono caricati tramite HTTP.
È consigliabile evitare questa vulnerabilità seguendo una delle procedure indicate sotto:
Opzione 1: assicurati che i componenti WebView non possano inviare Intent arbitrari
Le app possono limitare gli Intent costruiti con Intent.parseUri affinché vengano inviati solo come Intent impliciti ai componenti con filtri di intent di tipo BROWSABLE usando il codice seguente:
// convert Intent scheme URL to Intent object
Intent intent = Intent.parseUri(url);
// forbid launching activities without BROWSABLE category
intent.addCategory("android.intent.category.BROWSABLE");
// forbid explicit call
intent.setComponent(null);
// forbid Intent with selector Intent
intent.setSelector(null);
// start the activity by the Intent
view.getContext().startActivity(intent, -1);
Opzione 2: assicurati che i componenti WebView interessati dal problema non carichino contenuti web non attendibili
Se un componente WebView deve analizzare URL con schema intent://
arbitrario, assicurati che non carichi contenuti web non attendibili. I contenuti web non attendibili includono contenuti web caricati tramite una connessione non criptata. Gli sviluppatori possono impostare android:usesCleartextTraffic
su false nel proprio file manifest oppure impostare un valore Network Security Config che non consenta il traffico HTTP. In alternativa, possono fare in modo che tutti i componenti WebView interessati non carichino URL con schemi HTTP con loadUrl
.
Consigliamo agli sviluppatori di assicurarsi che i componenti WebView interessati dal problema non carichino URL senza limitazioni ottenuti da fonti non attendibili (ad esempio, URL ottenuti da intent non attendibili).
Siamo qui per aiutarti
Puoi pubblicare eventuali domande tecniche relative alla vulnerabilità su Stack Overflow con il tag "android-security". Per chiarimenti sui passaggi da seguire per risolvere il problema, puoi contattare il nostro team di assistenza per gli sviluppatori.