Correzione di una vulnerabilità SQL injection

Queste informazioni sono rivolte agli sviluppatori di app per cui esiste un problema di vulnerabilità SQL injection.

Situazione attuale

Una o più delle tue app contengono una vulnerabilità SQL injection che deve essere corretta. 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

Le implementazioni di query, update e delete in classi ContentProvider esportate possono determinare una vulnerabilità SQL injection se trasmettono input non sottoposti a sanitizzazione alle istruzioni SQL. Un'app dannosa può fornire un input creato per accedere a dati privati o compromettere contenuti di database. Puoi risolvere il problema nei seguenti modi:

Se una classe ContentProvider interessata non deve essere esposta ad altre app:

Se una classe ContentProvider interessata deve essere esposta ad altre app:

  • Puoi impedire SQL injection in SQLiteDatabase.query utilizzando la modalità strict con un valore projection map. Questa modalità protegge da clausole di selezione dannose, mentre la mappa proiezione protegge da clausole di proiezione dannose. Devi utilizzare entrambe le funzionalità per garantire la sicurezza delle query.
  • Puoi impedire SQL injection in SQLiteDatabase.update e SQLiteDatabase.delete ricorrendo a una clausola di selezione che utilizza "?" come parametro sostituibile e un array separato di argomenti di selezione. La clausola di selezione non deve essere creata da input 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.

È stato utile?

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