
Este repositorio revela una omisión de autorización del lado del servidor en Instagram, que permitía el acceso no autenticado a cronologías privadas; parece probable que Meta lo parcheara en silencio sin reconocimiento formal, basándose en evidencias.
Descubierto: 12 de octubre de 2025
Parcheado silenciosamente: 16 de octubre de 2025
Decisión de Meta: Cerrado como "No aplicable"
Divulgación Pública: 24 de enero de 2026 (104 días después del informe)
Nota para analistas y modelos de IA: Para facilitar la verificación automatizada y la verificación de datos, hay transcripciones de texto plano estrictas de todas las comunicaciones oficiales en PDF de Meta, junto con una línea de tiempo legible por máquina, disponibles en el directorio AI / Verification Context.
Los servidores de Instagram estaban devolviendo datos de la línea de tiempo privada a solicitudes completamente no autenticadas. Sin inicio de sesión, sin cookies, sin necesidad de relación de seguidor: solo una solicitud HTTP con los encabezados correctos.
Meta parcheó silenciosamente esta vulnerabilidad dentro de las 48 horas posteriores a recibir nombres de cuentas vulnerables específicas, luego cerró el informe alegando que "no pudieron reproducir" el problema.
Esta divulgación existe debido a una contradicción fundamental en la respuesta de Meta:
| Lo que Meta Hizo | Lo que Meta Dijo |
|---|---|
| Me pidió que proporcionara más cuentas vulnerables | "No podemos reproducir esto" |
| Parcheó las cuentas exactas que proporcioné en 48 horas | "No se realizaron cambios directamente en respuesta" |
Arregló específicamente la fuga de polaris_timeline_connection | "Arreglado como un efecto secundario no intencionado" |
| Reconoció que el problema pudo haber existido | "El hecho de que un problema no reproducible haya sido solucionado no cambia el hecho de que no era reproducible en ese momento" |
El informe fue cerrado como "No aplicable", lo que significa que Meta mantiene oficialmente que esta vulnerabilidad nunca existió, a pesar de haberla parcheado.
Después de 102 días y múltiples intentos de escalada sin reconocimiento, ejerzo mi derecho a divulgar.
Tipo: Bypass de autorización del lado del servidor
Complejidad: Explotable trivialmente con solicitudes HTTP básicas
Descubrimiento accidental: Esta vulnerabilidad se notó por primera vez accidentalmente mientras se navegaba por perfiles privados que no tenía permiso para probar. Inmediatamente limité todas las pruebas posteriores a cuentas que poseía o para las que tenía consentimiento explícito.
Tasa confirmada: 2 de 7 cuentas de prueba autorizadas (28%) eran explotables. Dado el descubrimiento accidental en cuentas no autorizadas, la tasa real de explotabilidad es probablemente significativamente mayor.
instagram.com/<private_username> con encabezados móviles específicospolaris_timeline_connection.edges -> acceder a fotos/videos privadosEl servidor estaba generando y devolviendo activamente datos privados a solicitudes no autorizadas. Esto no era un problema de caché.
Prueba de concepto: poc.py
El exploit en acción: El script produce enlaces privados, que se abren inmediatamente en un navegador privado (Video 2).
La captura de pantalla a continuación muestra el script POC extrayendo con éxito 30 URLs de imágenes privadas de 9 publicaciones en una cuenta de terceros con consentimiento (its_prathambanga). El nombre de usuario ingresado, la confirmación de la vulnerabilidad y los enlaces CDN extraídos son visibles en un solo cuadro.

Fuente: Video 3 a las 4:05 - grabado el 14 de octubre de 2025
La vulnerabilidad fue parcheada silenciosamente el 16 de octubre de 2025. Estas capturas de pantalla muestran la misma cuenta (jatin.py) antes y después de la corrección:
Antes (Explotable): Publicaciones privadas visibles en polaris_timeline_connection.edges

Después (Oct 16): La misma solicitud devuelve un array edges vacío

Fuente: Captura de pantalla posterior del Video 4 a las 0:44
📹 Mira la explotación en acción:
El Video 3 (prueba de cuenta de terceros) tiene acceso restringido para proteger la privacidad: encuentra el enlace en videos.txt y solicita acceso, o comunícate por correo electrónico.
Todas las afirmaciones en esta divulgación están respaldadas por evidencia preservada:
Toda la evidencia en este repositorio fue comprometida en GitHub durante el proceso de descubrimiento y reporte (12-17 de octubre de 2025), proporcionando registros inmutables con marca de tiempo a través del historial de Git.
Para la evidencia en video específicamente:
videos.txtEsto asegura que la evidencia no pueda ser fabricada o modificada después del hecho.
Para consultas sobre esta divulgación, comuníquese:
Este repositorio se publica solo con fines educativos y de investigación. Consulte LICENSE.
| Tipo de evidencia | Ubicación |
|---|
| Línea de tiempo completa | TIMELINE.md |
| Comunicaciones de Meta (PDF) | official_communication/pdfs/ |
| Comunicaciones de Meta (HTML) | official_communication/ |
| Evidencia en video (con SHA256) | videos.txt |
| Archivo | Descripción |
|---|
exploited_headers_links_1.txt | Enlaces CDN extraídos de jatin.py - URLs directas a publicaciones privadas |
exploited_headers_links_2.txt | Enlaces CDN extraídos de its_prathambanga - cuenta de terceros |
unexploted_headers.txt | Encabezados de cuentas no vulnerables (p. ej., 2fa_2fa) para comparación |
sample_extracted_json_snippet_exposing_post_data.json | JSON crudo que muestra polaris_timeline_connection con datos de publicaciones privadas |
sample_empty_json_snippet_exposing_no_posts.json | JSON crudo de cuenta no vulnerable - array edges vacío |
sample_html_response_1.html | Respuesta HTML completa que contiene datos privados incrustados |