Cómo solucionar una vulnerabilidad de inyección de SQL

Esta información está dirigida a desarrolladores cuyas apps contengan una vulnerabilidad de inyección de SQL.

Novedades

Una o más de tus apps contienen una vulnerabilidad de inyección de SQL que debes corregir. Consulta el anuncio en Play Console a fin de conocer la fecha límite para corregirla. Después de esta fecha, se bloquearán las actualizaciones de las apps afectadas si no se solucionó el problema. Cabe aclarar que no cambiará la versión publicada de tu APK.

Acción necesaria

Las implementaciones de query, update y delete en ContentProviders exportados pueden ser vulnerables a la inyección de SQL si envían información no segura en instrucciones de SQL, ya que una app maliciosa podría diseñarse para acceder a datos privados o dañar el contenido de una base de datos. Puedes solucionar el problema de las siguientes maneras:

Si no es necesario exponer un ContentProvider en otras apps, haz lo siguiente:

Si es necesario exponer el ContentProvider afectado en otras apps, haz lo siguiente:

  • Para evitar la inyección de SQL en SQLiteDatabase.query, usa el modo strict con un projection map. Este modo brinda protección contra las cláusulas de selección maliciosa y el mapa de proyecciones protege de las cláusulas de proyección maliciosas. Debes usar ambas funciones para garantizar la seguridad de tus consultas.
  • Para evitar la inyección de SQL en SQLiteDatabase.update y SQLiteDatabase.delete, usa una cláusula de selección que emplee "?" como parámetro para reemplazar y separar un conjunto independiente de argumentos de selección. La cláusula de selección no debe construirse a partir de entradas que no sean de confianza.

Próximos pasos

  1. Actualiza tu app por medio de los pasos destacados anteriormente.
  2. Accede a Play Console y envía la versión actualizada de tu app.
  3. Regresa después de cinco horas. Si la app no se actualizó correctamente, aparecerá un mensaje de advertencia.

Estamos aquí para ayudarte. Si tienes dudas sobre los pasos que debes realizar para resolver este problema, comunícate con nuestro equipo de asistencia para desarrolladores.