lowCWE-200A02:2021

Capturas de Pantalla No Prevenidas

Las pantallas bancarias y de pago sin protección contra capturas permiten que datos sensibles sean capturados por malware o aparezcan en la pantalla de apps recientes de Android.

Cómo Funciona

La vista previa de apps recientes de Android captura una screenshot de tu app cuando el usuario presiona home. Sin FLAG_SECURE, las pantallas sensibles aparecen en esta vista previa y en cualquier captura tomada mientras tu app está en primer plano. Las apps maliciosas de grabación de pantalla también pueden capturar la pantalla.

Código Vulnerable
// MAL: sin protección de capturas en pantallas sensibles (React Native Android)
import { View, Text } from 'react-native';

export function PantallaPayment() {
  return <View><Text>Tarjeta: 4111 1111 1111 1111</Text></View>;
  // sin FLAG_SECURE — puede ser capturada por malware
}
Código Seguro
// BIEN: agrega FLAG_SECURE para pantallas con datos sensibles
import { useFocusEffect } from '@react-navigation/native';
import { NativeModules } from 'react-native';

useFocusEffect(() => {
  NativeModules.PreventScreenshot.enable();
  return () => NativeModules.PreventScreenshot.disable();
});

Ejemplo Real

Los troyanos bancarios en Android rutinariamente esperan a que las apps financieras estén en primer plano y luego toman una screenshot. Las apps sin protección FLAG_SECURE han tenido números de cuenta y saldos exfiltrados de esta manera.

Cómo Prevenirlo

  • Agrega FLAG_SECURE a los flags de ventana Android para todas las pantallas con datos financieros o personales
  • Usa react-native-prevent-screenshot o una librería similar para una solución multiplataforma
  • Aplica la prevención de capturas selectivamente a pantallas sensibles — no a toda la app
  • Prueba en la vista de apps recientes de Android para verificar que tu pantalla sensible no sea visible en la vista previa

Tecnologías Afectadas

React Nativeandroid

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas