Validación Insuficiente de Input/Output
Apps móviles que no validan input de usuario o sanitizan output son vulnerables a ataques de inyección, corrupción de datos y comportamiento inesperado.
Cómo Funciona
Las apps móviles reciben input de muchas fuentes: campos de texto, deep links, códigos QR, clipboard y comunicación entre apps. Sin validación, input malicioso puede causar SQL injection en bases de datos locales, XSS en WebViews, path traversal en operaciones de archivos o crashes por datos malformados. La validación de output es igual de importante — mostrar datos sin sanitizar en WebViews puede ejecutar JavaScript arbitrario.
// Deep link handler without validation
Linking.addEventListener('url', ({ url }) => {
const path = new URL(url).pathname;
navigation.navigate(path);
});// Deep link handler with validation
const ALLOWED_ROUTES = ['/home', '/profile', '/settings'];
Linking.addEventListener('url', ({ url }) => {
const path = new URL(url).pathname;
if (ALLOWED_ROUTES.includes(path)) {
navigation.navigate(path);
}
});Ejemplo Real
Una vulnerabilidad de 2021 en la app Android de TikTok permitía a atacantes crear deep links que robaban sesiones de usuario. La app no validaba parámetros de deep links, habilitando inyección de JavaScript a través de un componente WebView.
Cómo Prevenirlo
- Valida todo input de deep links, códigos QR e intents
- Sanitiza datos antes de mostrarlos en WebViews
- Usa allowlists para rutas de navegación
- Valida tipos de datos y rangos en todo input de usuario
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Uso Incorrecto de Credenciales
criticalAPI keys, passwords o tokens hardcodeados directamente en el código fuente de la app móvil — fácilmente extraíbles al decompilar el bundle.
Seguridad de Cadena de Suministro Móvil
mediumSDKs vulnerables, librerías nativas desactualizadas o módulos de terceros comprometidos introducen riesgos de seguridad desde tus dependencias.
Autenticación/Autorización Insegura
highApps móviles con autenticación débil — guardando sesiones de forma insegura, sin refresh de tokens o checks de autorización solo en el cliente.
Comunicación Insegura
highLa app móvil transmite datos sensibles por HTTP en vez de HTTPS, o acepta certificados SSL inválidos — habilitando ataques man-in-the-middle en WiFi público.