Exposición del Portapapeles
Los datos sensibles copiados al portapapeles (contraseñas, tokens, números de tarjeta) persisten ahí indefinidamente y pueden ser leídos por cualquier app.
Cómo Funciona
El portapapeles del sistema es un recurso compartido accesible por cualquier app. Si un usuario copia una contraseña u OTP de tu app, ese valor permanece en el portapapeles hasta que sea reemplazado. Otras apps pueden leerlo silenciosamente en segundo plano en Android, e iOS advierte a los usuarios cuando las apps acceden al portapapeles.
// MAL: datos sensibles quedan en el portapapeles indefinidamente
import Clipboard from '@react-native-clipboard/clipboard';
const copiarContrasena = (contrasena: string) => {
Clipboard.setString(contrasena); // nunca se limpia
};// BIEN: limpia datos sensibles del portapapeles después de un tiempo
import Clipboard from '@react-native-clipboard/clipboard';
const copiarContrasena = (contrasena: string) => {
Clipboard.setString(contrasena);
setTimeout(() => Clipboard.setString(''), 30_000); // limpia después de 30s
};Ejemplo Real
iOS 14 introdujo notificaciones de acceso al portapapeles después de que investigadores mostraran que TikTok y docenas de otras apps leían silenciosamente el contenido del portapapeles cada pocos segundos — incluyendo contraseñas que los usuarios habían copiado recientemente.
Cómo Prevenirlo
- Limpia los contenidos sensibles del portapapeles después de 30-60 segundos usando setTimeout
- Muestra un temporizador visible a los usuarios indicando cuándo se borrarán los datos del portapapeles
- Evita copiar contraseñas al portapapeles del todo — usa autocompletado directo donde sea posible
- Nunca copies tokens en crudo, números de tarjeta o NSS al portapapeles
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Hijacking de Deep Links
mediumLos esquemas de URL personalizados sin verificación de host permiten que apps maliciosas intercepten los deep links de tu app y roben tokens OAuth o parámetros sensibles.
Capturas de Pantalla No Prevenidas
lowLas 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.
Certificate Pinning Faltante
highSin certificate pinning, los atacantes en la misma red pueden interceptar el tráfico HTTPS de tu app con una autoridad de certificación falsa.
Detección de Root/Jailbreak Faltante
mediumEjecutar una app financiera o de salud en un dispositivo rooteado o con jailbreak significa que todos los controles de seguridad pueden ser eludidos por el dueño del dispositivo.