highCWE-295A05:2021

Certificate Pinning Faltante

Sin certificate pinning, los atacantes en la misma red pueden interceptar el tráfico HTTPS de tu app con una autoridad de certificación falsa.

Cómo Funciona

TLS normalmente confía en cualquier certificado firmado por una CA confiable del sistema. En una red corporativa o pública, un proxy con un cert de CA personalizado puede interceptar todo el tráfico HTTPS. El certificate pinning hace que tu app acepte solo tu certificado específico o clave pública, bloqueando cualquier proxy MITM independientemente de su CA.

Código Vulnerable
// MAL: fetch estándar — confía en cualquier certificado del sistema
const response = await fetch('https://api.myapp.com/usuario', {
  headers: { Authorization: `Bearer ${token}` }
  // sin pinning — interceptable por proxies corporativos o APs maliciosos
});
Código Seguro
// BIEN: usa react-native-ssl-pinning para certificate pinning
import { fetch } from 'react-native-ssl-pinning';

const response = await fetch('https://api.myapp.com/usuario', {
  method: 'GET',
  sslPinning: { certs: ['fingerprint_sha256_del_cert'] }, // rechaza otros certs
  headers: { Authorization: `Bearer ${token}` }
});

Ejemplo Real

Los pen testers rutinariamente eluden la seguridad de apps móviles configurando un proxy Burp Suite en una red WiFi compartida. Las apps sin certificate pinning exponen todas sus llamadas a la API, tokens y datos de usuario a este ataque.

Cómo Prevenirlo

  • Implementa certificate pinning usando react-native-ssl-pinning (RN) o TrustKit (iOS/Android nativo)
  • Pínea la clave pública (SPKI) en vez del certificado completo para sobrevivir renovaciones de cert
  • Siempre provee al menos un pin de respaldo en caso de que necesites rotar tu certificado principal
  • Prueba el certificate pinning con una herramienta proxy (Charles, Burp Suite) para verificar que funciona antes del lanzamiento

Tecnologías Afectadas

React Nativeiosandroid

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas