Den här informationen är avsedd för utvecklare vars appar har en säkerhetsbrist som gör dem sårbara för SQL-injektion.
Vad det är som händer
En eller flera av dina appar har en säkerhetsbrist som gör dem sårbara för SQL-injektion. Den här säkerhetsbristen måste åtgärdas. Läs mer i meddelandet i Play Console. Alla appar där säkerhetsbristen inte har åtgärdats tas bort från Google Play efter det datum som anges i Play Console.
Åtgärd som krävs
- Logga in på Play Console och öppna avsnittet Varningar. Där ser du vilka appar som berörs av problemet och vilket datum det måste vara åtgärdat.
- Uppdatera de berörda apparna och åtgärda säkerhetsbristen.
- Skicka in uppdaterade versioner av de berörda apparna.
När du skickar in den nya appversionen granskas den på nytt. Granskningen kan ta flera timmar. Om appen blir godkänd vid granskningen och publiceras utan problem behöver du inte göra något mer. Om appen inte blir godkänd vid granskningen kommer den nya appversionen inte att publiceras och du meddelas via e-post.
Ytterligare information
Implementeringar av query
, update
och delete
i en exporterad ContentProvider
kan vara sårbara för SQL-injektion om indata skickas vidare utan restriktioner till SQL-satser. En skadlig app kan skicka indata som har utformats så att appen får tillgång till privat data eller kan skada databasens innehåll. Du kan åtgärda problemet på följande sätt:
Gör så här om en ContentProvider
som berörs inte behöver vara exponerad för andra appar:
- Ändra den
ContentProvider
som berörs så att det stårandroid:exported="false"
i taggen<provider>
för den i manifestet. Då kan andra appar inte skicka intent till dennaContentProvider
. -
Du kan även ange att attributet
android:permission
ska vara enpermission
medandroid:protectionLevel="signature"
så att appar skrivna av andra utvecklare inte kan skicka intent till dennaContentProvider
.
Gör så här om en ContentProvider
som berörs behöver vara exponerad för andra appar:
- Du kan förhindra SQL-injektion i
SQLiteDatabase.query
genom att använda strikt läge med projektionsmappning. Strikt läge skyddar mot skadliga urvalssatser och projektionsmappningen skyddar mot skadliga projektionssatser. Du måste använda båda tillsammans för att skydda frågorna. - Du kan förhindra SQL-injektion i
SQLiteDatabase.update
ochSQLiteDatabase.delete
genom att använda urvalssatser med"?"
som utbytbar parameter och en separat vektor med urvalsargument. Urvalssatsen får inte byggas upp av osäker indata.
Vi hjälper dig gärna
Om du har tekniska frågor som handlar om säkerhetsbristen kan du ställa dem på Stack Overflow. Använd taggen android-security. Om du behöver mer information om hur du åtgärdar problemet kontaktar du vårt supportteam för utvecklare.