Plataforma SaaS multi-tenant del sector logística internacional. Ocho empresas afectadas en cuatro países. Dos críticos, tres altos, un medio.
Datos anonimizados · Cliente y plataforma bajo NDA · Reportado bajo divulgación responsable
Certificate Transparency (crt.sh) reveló un panel administrativo en un subdominio no indexado. Sin tocar la infraestructura del cliente — solo información pública.
El bundle JavaScript público contenía referencias a rutas de la API que no estaban documentadas. Mapeo de la superficie de ataque desde el cliente, sin interacción con el backend.
Un endpoint aceptaba modificación de cuenta con solo un identificador numérico predecible. Sin token, sin sesión, sin verificación. Reseteo de credenciales de cualquier cuenta — incluidas las administrativas — desde un navegador en modo incógnito.
Parámetro de búsqueda sin sanitización. Extracción carácter a carácter de la base usando majority-vote sobre el tamaño de respuesta HTTP. Acceso a la estructura completa del schema: usuarios, hashes, datos fiscales (CUIT), operaciones financieras.
El schema confirmó almacenamiento de contraseñas sin hash. Adicionalmente: oracle de respuesta HTTP permitía enumerar CUIT/DNI válidos del padrón de la plataforma sin autenticación.
Reporte de 40 páginas con CVSS scoring, vectores reproducibles, impacto cuantificado y plan de remediación priorizado. Reunión de presentación con el equipo técnico bajo NDA.
Datos fiscales (CUIT), credenciales, operaciones financieras de las ocho empresas tenant en cuatro jurisdicciones.
Cualquier cuenta administrativa comprometible desde un navegador. Sin necesidad de phishing, sin necesidad de ingeniería social.
Ley 25.326 (Argentina) y normativas equivalentes en las tres jurisdicciones restantes. Multas regulatorias acumulativas.
Sector regulado. Una brecha pública obligaría a suspender operaciones hasta auditoría completa de control interno.
Toda la investigación se hizo con PoC mínima: confirmar la existencia del vector sin acceder a datos de usuarios reales. La SQLi se validó extrayendo metadata del schema (SELECT VERSION(), DATABASE()) — nunca contenido de tablas con información personal.
El reporte se entregó bajo ISO/IEC 29147 (responsible disclosure). Plazo de 90 días para remediación antes de cualquier publicación. Reunión con el equipo técnico bajo NDA. Cliente y plataforma no se identifican en este caso público.
Si encontrás algo así en tu plataforma, esto es lo que vas a recibir: un proceso documentado, ético, y enfocado en resolver — no en presionar.
Probablemente sí. La mayoría de los SaaS multi-tenant tiene al menos un IDOR. Mejor encontrarlo conmigo que con alguien que no firme NDA.
Pedí tu cotización →