Aquesta informació va dirigida als desenvolupadors d'aplicacions que contenen la vulnerabilitat d'injecció d'SQL.
Què passa
Com a mínim una de les teves aplicacions conté una vulnerabilitat de SQL Injection que cal corregir. Consulta l'avís a Play Console. Després de les dates límit que es mostren a Play Console, és possible que les aplicacions que presentin vulnerabilitats de seguretat sense solucionar se suprimeixin de Google Play.
Acció necessària
- Inicia la sessió a Play Console i navega per la secció Alertes per consultar quines aplicacions es veuen afectades i les dates límit per resoldre aquests problemes.
- Actualitza les aplicacions afectades i soluciona la vulnerabilitat.
- Envia les versions actualitzades de les aplicacions afectades.
Un cop hagis l'hagis tornat a enviar, tornarem a revisar la teva aplicació. Aquest procés pot tardar diverses hores. Si l'aplicació passa la revisió i es publica correctament, no cal dur a terme cap altra acció. Si l'aplicació no passa la revisió, no se'n publicarà la versió nova i rebràs una notificació per correu electrònic.
Detalls addicionals
Les implementacions de query
, d'update
i de delete
en ContentProviders
exportats poden ser vulnerables a SQL Injection si passen entrades defectuoses a les sentències SQL. Una aplicació maliciosa pot proporcionar una entrada dissenyada per accedir a les dades privades o malmetre el contingut de la base de dades. Pots solucionar aquest problema de les maneres següents:
Si no cal que un ContentProvider
afectat s'exposi a altres aplicacions:
- Pots modificar l'etiqueta
<provider>
delContentProvider
afectat al fitxer de manifest per configurarandroid:exported="false"
. Això evitarà que altres aplicacions enviïn intents alContentProvider
afectat. -
També pots configurar l'atribut
android:permission
perquè sigui unpermission
ambandroid:protectionLevel="signature"
per evitar que les aplicacions escrites per altres desenvolupadors enviïn intents alContentProvider
afectat.
Si un ContentProvider
afectat s'ha d'exposar a altres aplicacions:
- Per evitar una SQL Injection a
SQLiteDatabase.query
, pots utilitzar el mode Strict amb un ProjectionMap. El mode estricte protegeix de les clàusules de selecció malicioses i el mapa de projecció protegeix de les clàusules de projecció malicioses. Has d'utilitzar aquestes dues funcions per garantir que les consultes estiguin protegides. - Pots evitar una SQL Injection a
SQLiteDatabase.update
iSQLiteDatabase.delete
amb una clàusula de selecció que utilitzi"?" com a paràmetre reemplaçable i un conjunt independent d'arguments de selecció.
La clàusula de selecció no s'ha de construir a partir d'entrades que no siguin de confiança.
Som aquí per ajudar-te
Si tens cap dubte tècnic sobre la vulnerabilitat, pots publicar les teves preguntes a Stack Overflow amb l'etiqueta "android-security". Per aclarir els passos que has de seguir per resoldre aquest problema, pots contactar amb el nostre equip d'assistència per a desenvolupadors.