
Dieses Repository deckt eine serverseitige Autorisierungsumgehung bei Instagram auf, die nicht authentifizierten Zugriff auf private Zeitleisten ermöglichte; es scheint wahrscheinlich, dass Meta es stillschweigend und ohne formelle Bestätigung gepatcht hat, basierend auf Beweisen.
Entdeckt: 12. Oktober 2025
Stillschweigend gepatcht: 16. Oktober 2025
Metas Entscheidung: Geschlossen als "Nicht zutreffend"
Öffentliche Offenlegung: 24. Januar 2026 (104 Tage nach Meldung)
Hinweis für Analysten und KI-Modelle: Um automatisierte Verifikation und Faktenprüfung zu erleichtern, sind strikte Klartext-Transkripte aller offiziellen Meta-PDF-Kommunikationen sowie eine maschinenlesbare Zeitleiste der Ereignisse im Verzeichnis AI / Verification Context verfügbar.
Instagram-Server gaben private Timeline-Daten an völlig unauthentifizierte Anfragen zurück. Kein Login, keine Cookies, keine Follower-Beziehung erforderlich – nur eine HTTP-Anfrage mit den richtigen Headern.
Meta patchierte diese Schwachstelle stillschweigend innerhalb von 48 Stunden, nachdem sie spezifische angreifbare Kontonamen erhalten hatte, und schloss dann den Bericht mit der Behauptung, man habe das Problem "nicht reproduzieren" können.
Diese Offenlegung erfolgt aufgrund eines grundlegenden Widerspruchs in Metas Antwort:
| Was Meta tat | Was Meta sagte |
|---|---|
| Fragte mich, ob ich weitere angreifbare Konten liefern könne | "Wir können dies nicht reproduzieren" |
| Patchte die genauen von mir bereitgestellten Konten innerhalb von 48 Stunden | "Es wurden keine Änderungen direkt als Reaktion vorgenommen" |
Behob den polaris_timeline_connection-Leck spezifisch | "Als unbeabsichtigter Nebeneffekt behoben" |
| Erkannte an, dass das Problem möglicherweise existierte | "Die Tatsache, dass ein nicht reproduzierbares Problem behoben wurde, ändert nichts daran, dass es zu dem Zeitpunkt nicht reproduzierbar war" |
Der Bericht wurde als "Nicht zutreffend" geschlossen – was bedeutet, dass Meta offiziell behauptet, diese Schwachstelle habe nie existiert, obwohl sie gepatcht wurde.
Nach 102 Tagen und mehreren Eskalationsversuchen ohne Bestätigung mache ich von meinem Recht auf Offenlegung Gebrauch.
Art: Server-seitige Autorisierungsumgehung
Komplexität: Trivial ausnutzbar mit grundlegenden HTTP-Anfragen
Zufallsentdeckung: Diese Schwachstelle wurde erstmals zufällig beim Durchsuchen privater Profile bemerkt, für die ich keine Testberechtigung hatte. Ich schränkte alle weiteren Tests sofort auf Konten ein, die mir gehörten oder für die ich ausdrückliche Zustimmung hatte.
Bestätigte Rate: 2 von 7 autorisierten Testkonten (28 %) waren angreifbar. Angesichts der zufälligen Entdeckung auf nicht autorisierten Konten liegt die tatsächliche Ausnutzbarkeitsrate wahrscheinlich deutlich höher.
instagram.com/<private_username> mit spezifischen mobilen Headernpolaris_timeline_connection.edges -> Zugriff auf private Fotos/VideosDer Server generierte aktiv und gab private Daten an nicht autorisierte Anfragen zurück. Dies war kein Cache-Problem.
Proof-of-Concept: poc.py
Der Exploit in Aktion: Das Skript generiert private Links, die sofort in einem privaten Browser geöffnet werden (Video 2).
Der folgende Screenshot zeigt das POC-Skript, das erfolgreich 30 private Bild-URLs aus 9 Beiträgen eines zustimmenden Drittanbieterkontos (its_prathambanga) extrahiert. Die Benutzernameingabe, die Bestätigung der Schwachstelle und die extrahierten CDN-Links sind alle in einem einzigen Bild sichtbar.

Quelle: Video 3 bei 4:05 – aufgenommen am 14. Oktober 2025
Die Schwachstelle wurde am 16. Oktober 2025 stillschweigend gepatcht. Diese Screenshots zeigen dasselbe Konto (jatin.py) vor und nach dem Fix:
Vorher (ausnutzbar): Private Beiträge sichtbar in polaris_timeline_connection.edges

Nachher (16. Okt.): Dieselbe Anfrage gibt leeres edges-Array zurück

Quelle: Screenshot nachher aus Video 4 bei 0:44
📹 Sehen Sie den Exploit in Aktion:
Video 3 (Test auf Drittanbieterkonto) hat eingeschränkten Zugriff zum Schutz der Privatsphäre – finden Sie den Link in videos.txt und fordern Sie Zugriff an, oder kontaktieren Sie mich per E-Mail.
Alle Behauptungen in dieser Offenlegung werden durch aufbewahrte Beweise gestützt:
Alle Beweise in diesem Repository wurden während des Entdeckungs- und Meldezeitraums (12.–17. Oktober 2025) auf GitHub committet und bieten so zeitgestempelte, unveränderliche Aufzeichnungen über die Git-Historie.
Für Videobeweise im Speziellen:
videos.txt aufgezeichnet istDies stellt sicher, dass die Beweise nicht nachträglich fabriziert oder verändert werden können.
Bei Fragen zu dieser Offenlegung wenden Sie sich bitte an:
Dieses Repository wird nur für Bildungs- und Forschungszwecke veröffentlicht. Siehe LICENSE.
| Beweistyp | Ort |
|---|
| Vollständige Zeitleiste | TIMELINE.md |
| Meta-Kommunikation (PDF) | official_communication/pdfs/ |
| Meta-Kommunikation (HTML) | official_communication/ |
| Videobeweise (mit SHA256) | videos.txt |
| Datei | Beschreibung |
|---|
exploited_headers_links_1.txt | CDN-Links extrahiert aus jatin.py – direkte URLs zu privaten Beiträgen |
exploited_headers_links_2.txt | CDN-Links extrahiert aus its_prathambanga – Drittanbieterkonto |
unexploted_headers.txt | Header von nicht angreifbaren Konten (z. B. 2fa_2fa) zum Vergleich |
sample_extracted_json_snippet_exposing_post_data.json | Rohes JSON mit polaris_timeline_connection und privaten Beitragsdaten |
sample_empty_json_snippet_exposing_no_posts.json | Rohes JSON von nicht angreifbarem Konto – leeres edges-Array |
sample_html_response_1.html | Vollständige HTML-Antwort mit eingebetteten privaten Daten |