
Demuestra una vulnerabilidad de enumeración no autenticada en un endpoint público de consulta de certificados, exponiendo datos personales como CPF y RG. Incluye PoC que utiliza Google dorks y LinkedIn para recopilar identificadores, con detalles de impacto y mitigación.
Se ha identificado un endpoint público que permite la consulta de certificados mediante un identificador predecible (código de certificado), sin ningún mecanismo de autenticación o autorización.
Mediante la enumeración de este identificador, un atacante puede acceder a datos personales de terceros, incluidos nombre completo, CPF (número de registro de contribuyente individual brasileño), RG (número de cédula de identidad brasileña), fecha de nacimiento y lugar de nacimiento.
También se observa que, incluso cuando los titulares de certificados eligen compartir públicamente sus diplomas con datos personales parcialmente ofuscados (por ejemplo, en redes profesionales u otras plataformas), el identificador del certificado a menudo permanece visible. A partir de este identificador, es posible consultar directamente el endpoint y obtener los datos completos, eludiendo por completo el mecanismo de ofuscación implementado en la interfaz.
https://www.fiap.com.br/consultadocumento
Identificador de 8 caracteres
Con fines de prueba de concepto (PoC), se realizaron búsquedas utilizando técnicas de Google dorks para localizar imágenes de certificados disponibles públicamente. Además, se identificaron ejemplos en perfiles de LinkedIn donde los titulares de certificados compartían sus certificados.
A partir de estas fuentes públicas, fue posible extraer los identificadores de los certificados visibles y, con base en ellos, elaborar una lista de códigos válidos. Al utilizar estos identificadores en el endpoint vulnerable, fue posible acceder a los datos completos asociados con cada certificado, demostrando la viabilidad de la explotación a gran escala.
Cabe señalar que la técnica empleada utilizó exclusivamente información pública y reconocimiento pasivo, lo que demuestra que un atacante no necesita acceso privilegiado para explotar la vulnerabilidad.
Vea el ejemplo a continuación.
La vulnerabilidad identificada permite el acceso no autorizado a datos personales altamente sensibles, incluidos CPF (identificación fiscal brasileña), RG (documento nacional de identidad brasileño), nombre completo, fecha de nacimiento y lugar de nacimiento, sin requerir autenticación alguna. La posibilidad de enumerar el identificador del certificado, junto con la recopilación de estos identificadores de fuentes públicas, permite la extracción de información a gran escala, ampliando significativamente la superficie de exposición.
Este escenario permite el uso indebido de los datos para fraude, robo de identidad y ataques de ingeniería social altamente dirigidos, ya que la información expuesta se utiliza ampliamente como mecanismo de validación en el contexto brasileño. Además, la falla podría resultar en impactos regulatorios significativos, especialmente en el contexto de la Ley General de Protección de Datos (LGPD), considerando la exposición de datos personales sin una base legal adecuada o control de acceso.
Finalmente, cabe destacar que la explotación no requiere ningún nivel de privilegio o autenticación y puede ser llevada a cabo por agentes externos de manera automatizada, lo que aumenta significativamente la criticidad de la vulnerabilidad.
Para mitigar el riesgo de enumeración, se recomienda que el identificador del certificado sea reemplazado por un valor impredecible, como un token generado de forma segura (por ejemplo, basado en hash como MD5 o, preferiblemente, algoritmos más robustos con un componente aleatorio), garantizando que no sea posible inferir o enumerar otros certificados válidos.
Adicionalmente, se recomienda que los documentos públicos presenten los datos sensibles debidamente ofuscados, y que esta misma lógica se aplique al backend, evitando que la API devuelva información completa. De esta manera, incluso si el enlace se comparte públicamente, el acceso se limitará a una versión segura del certificado, preservando la privacidad del titular.
Finalmente, es importante implementar mecanismos de protección complementarios, como limitación de velocidad (rate limiting), monitoreo de accesos sospechosos y, cuando corresponda, el uso de enlaces de verificación con validez temporal, reduciendo aún más el riesgo de explotación automatizada.