Disse oplysninger er beregnet til udviklere med apps, der er sårbare over for SQL-indsætning.
Hvad sker der?
Én eller flere af dine apps er sårbare over for en SQL-indsætning, og du skal løse dette problem. Få flere oplysninger ved at gå til meddelelsen i Play Console. Efter de tidsfrister, der vises i Play Console, fjernes alle apps med sikkerhedsbrister, som ikke er rettet, muligvis fra Google Play.
Påkrævet handling
- Log ind i Play Console, og gå til afsnittet Advarsler for at se, hvilke apps der er berørt, og tidsfristerne for at løse disse problemer.
- Opdater dine berørte apps, og ret sårbarheden.
- Indsend de opdaterede versioner af de berørte apps.
Din app gennemgås på ny, når du indsender den igen. Dette kan tage flere timer. Hvis appen består gennemgangen og udgives korrekt, skal du ikke gøre mere. Hvis appen ikke består gennemgangen, udgives den nye appversion ikke, og du modtager en notifikation via mail.
Yderligere oplysninger
Implementeringer af query, update og delete i eksporterede ContentProviders kan være sårbar over for SQL-indsætning, hvis de videresender ikke-rensede input til SQL-forespørgsler. En skadelig app kan levere et tilpasset input for at få adgang til personlige oplysninger eller for at beskadige indhold i databaser. Du kan løse problemet på følgende måder:
Hvis en berørt ContentProvider ikke behøver at have kontakt med andre apps:
- Kan du ændre tagget
<provider>for den berørteContentProvideri dit manifest for at vælge indstillingenandroid:exported="false". Dette forhindrer andre apps i at sende formål til den berørteContentProvider. -
Kan du også angive attributten
android:permissionsom entilladelsemedandroid:protectionLevel="signature"for at undgå, at apps fra andre udviklere sender formål til den berørteContentProvider.
Hvis en berørt ContentProvider kræver kontakt med andre apps:
- Kan du forhindre SQL-indsætning i
SQLiteDatabase.queryved at bruge streng tilstand sammen med et projektionskort. Streng tilstand beskytter mod skadelige valgparametre, mens projektionskort beskytter mod skadelige projektionsparametre. Du skal bruge begge disse funktioner for at sikre, at dine forespørgsler er beskyttet. - Du kan forhindre SQL-indsætning i
SQLiteDatabase.updateogSQLiteDatabase.deleteved at bruge en valgparameter, der anvender"?"som en parameter, der kan udskiftes, og et separat udvalg af argumenter. Din valgparameter bør kun bestå af input, du har tillid til.
Vi er klar til at hjælpe dig
Hvis du har tekniske spørgsmål vedrørende sikkerhedshullet, kan du skrive et indlæg på Stack Overflow og bruge tagget "android-security". Hvis du har spørgsmål til den vejledning, du skal følge for at løse problemet, kan du kontakte vores supportteam til udviklere.