1 Punkte von GN⁺ 2025-12-16 | 1 Kommentare | Auf WhatsApp teilen
  • Bei Freedom Chat, einer Messenger-App mit MAGA-Thema (US-konservatives Lager), wurde eine schwerwiegende Schwachstelle entdeckt, durch die Telefonnummern und PIN-Codes der Nutzer offengelegt wurden
  • Die App ist der Nachfolger eines früheren Projekts namens Converso, bei dem bereits in der Vergangenheit Fehler bei der Implementierung der Verschlüsselung und Probleme mit Datenlecks aufgetreten waren
  • Die Analyse zeigte, dass über die Kanal-Funktion die PIN-Codes aller Mitglieder an andere Nutzer übertragen wurden und über die Kontakt-Synchronisierungs-API eine Zuordnung von Telefonnummern zu UIDs möglich war
  • Der Forscher bestätigte, dass es überhaupt kein Rate Limiting gab und daher innerhalb eines Tages die Telefonnummern aller Freedom-Chat-Nutzer gesammelt werden konnten
  • Der Vorfall wird als Beispiel dafür angeführt, dass eine App, die „Sicherheit“ betont, letztlich nicht einmal beim grundlegenden Schutz personenbezogener Daten bestand

Der Wechsel von Converso zu Freedom Chat

  • Converso, veröffentlicht 2023, warb mit einer „serverlosen dezentralen Struktur“ und „modernem E2EE“, doch die Analyse des Forschers crnković zeigte, dass alle diese Behauptungen falsch waren
    • Tatsächlich wurden zentrale Server und ein externer Verschlüsselungsdienst (Seald) verwendet, und die Verschlüsselungsschlüssel ließen sich aus öffentlichen Informationen ableiten
    • Alle Nachrichten wurden in einen öffentlichen Firebase-Bucket hochgeladen und konnten von jedem eingesehen werden
  • Danach zog CEO Tanner Haas die App zurück und rebrandete sie als Freedom Chat mit Verweis auf „Datenschutzbedenken im konservativen Lager“
    • Er sprach davon, man müsse „Kritik annehmen und sich verbessern“, doch die Sicherheitsprobleme wiederholten sich

Struktur und Funktionen von Freedom Chat

  • Die App verwendet eine Registrierung auf Basis der Telefonnummer und eine 2FA-Code-Verifizierung; das Setzen einer PIN ist optional
  • Die Hauptfunktionen sind 1:1-Chats und Channels, mit einer Telegram-ähnlichen Struktur
  • Die App bewarb eine Sperre von Screenshots als „Sicherheitsfunktion“, was jedoch nichts mit tatsächlicher Sicherheit zu tun hatte

Leck der PIN-Codes

  • Im Ergebnis von API-Anfragen an /channel war in den user objects von 1.519 Kanalmitgliedern jeweils ein PIN-Feld enthalten
    • Zusammen mit UID, Seald-Schlüssel, Erstellungsdatum usw. wurde der sechsstellige PIN-Code im Klartext offengelegt
  • Nach dem Anlegen eines neuen Kontos zeigte sich zudem, dass die eigene PIN unverändert in den Antwortdaten enthalten war
  • Das bedeutet, dass die PIN aller Nutzer, die im Standard-Channel verblieben waren, anderen Nutzern offengelegt wurde

Schwachstelle bei der Zuordnung von Telefonnummern

  • Die API /user/numbers prüft wie bei WhatsApp, ob Kontakte existieren
    • Gehört eine in der Anfrage enthaltene Nummer zu einem Freedom-Chat-Nutzer, werden UID und Seald-Schlüssel zurückgegeben
  • Der Forscher stellte fest, dass diese API überhaupt kein Rate Limiting hatte und somit alle US-Telefonnummern der Reihe nach getestet werden konnten
    • Dadurch war eine Zuordnung von Telefonnummern zu UIDs möglich; kombiniert mit den zuvor offengelegten UID-PIN-Daten ließ sich daraus eine vollständige Zuordnung von Telefonnummern zu PINs erstellen

Experiment zum vollständigen Abfluss der Nutzerdaten

  • Der Forscher schrieb ein Python-Skript, das alle nordamerikanischen Telefonnummern (7-stellige Kombinationen × Vorwahl) automatisiert abfragte
    • Pro Anfrage wurden 40.000 Nummern gesendet, die durchschnittliche Antwortzeit lag bei etwa 1,5 Sekunden
    • Innerhalb von 27 Stunden wurden alle Anfragen erfolgreich verarbeitet, sodass die Telefonnummern aller Freedom-Chat-Nutzer vollständig gesammelt werden konnten
  • Der Server antwortete ohne Rate Limiting oder Sperrmaßnahmen und befand sich damit faktisch in einem Zustand vollständiger offener Dateneinsicht

Reaktion und weitere Maßnahmen

  • 2025-11-23: Schwachstelle entdeckt
  • 2025-12-04: Der TechCrunch-Reporter Zack Whittaker informierte Freedom Chat über die Schwachstelle
  • 2025-12-05: Freedom Chat erklärte, die PIN diene nicht zur Wiederherstellung von Nachrichten, und man befinde sich bereits in einem Audit-Prozess
  • 2025-12-09: Mitteilung, dass das Problem behoben wurde
  • 2025-12-11: Gleichzeitige Veröffentlichung dieses Berichts und des TechCrunch-Artikels

Zentrale Lehre

  • Freedom Chat warb mit „Super-Sicherheit“, doch grundlegende Konzepte für Authentifizierung, Rate Limiting und Datenschutz fehlten
  • Infolgedessen wurden die Telefonnummern und PINs aller Nutzer offengelegt, wodurch die Sicherheitsfunktionen faktisch wirkungslos waren
  • Der Fall gilt als typisches Beispiel für die Kluft zwischen Security-Marketing und tatsächlicher Implementierung

1 Kommentare

 
GN⁺ 2025-12-16
Hacker-News-Kommentare
  • Signals verschlüsseltes System zur Telefonnummern-Abfrage ist interessant
    Der Server sucht Nummern mithilfe bitweiser XOR-Operationen in hardwareverschlüsseltem RAM nach, sodass selbst bei einer Untersuchung des Systems auf der niedrigsten Ebene nicht erkennbar ist, ob die angefragte Telefonnummer existiert
    Natürlich ist Rate Limiting ein weiteres wichtiges Problem. Beim Aufbau eines Sicherheitssystems gibt es wirklich sehr viele Edge Cases, die abgedeckt werden müssen

    • Ich finde diesen Ansatz nicht besonders überzeugend. Ein sicherer Messenger sollte von vornherein keine Telefonnummer als personenbezogenen Identifikator verlangen
    • Ich frage mich, ob Signal es verhindern könnte, wenn eine Regierung Abfragen für alle Telefonnummern schicken würde
      Auf nichtkommerziellen, datenschutzorientierten Plattformen wie Matrix sollte ein solches Mapping selbst unmöglich gemacht werden
      Zum Beispiel könnte man einen Hash der Telefonnummern jedes Benutzerpaars hochladen, sodass Nutzer nur von Personen gefunden werden können, die sich bereits in ihrer Kontaktliste befinden
      Der Vorteil wäre, dass der Hash-Raum groß genug ist, um Rückschlüsse zu erschweren, und dass Nutzer den Umfang der Auffindbarkeit selbst festlegen können
      Der Nachteil ist, dass ein Angreifer alle Zahlenkombinationen erzeugen könnte, um Kontaktbeziehungen zu extrahieren, und dass Regierungen dies durch das Abfangen von SMS-Bestätigungen missbrauchen könnten
    • Der Teil, dass der Server XOR in hardwareverschlüsseltem RAM verwendet, ist interessant. Ich frage mich, ob es dazu weiterführendes Material gibt
    • Es ist weiterhin bedauerlich, dass eine Telefonnummer erforderlich ist. Erst vor Kurzem wurde die Username-Funktion hinzugefügt, um das Offenlegen der Nummer zu vermeiden, aber der SIM-basierte Account bleibt unangenehm
    • Da wir die Signal-Server nicht selbst bauen und betreiben können, können wir letztlich nicht sicher sein, ob der Server das tatsächlich so verarbeitet
  • Das Feld pin im Benutzerobjekt wirkt verdächtig
    Wahrscheinlich wurde das Problem durch eine Opt-out-Serialisierungsbibliothek verursacht. Standardmäßig wird dabei das gesamte Objekt serialisiert, und wenn ein Entwickler vergisst, bestimmte Felder auszuschließen, werden sie unverändert offengelegt
    Oder der Server hat einfach ein JS-Dictionary verwendet und das Feld vor der Antwort nicht entfernt
    Diese Schwachstelle ist ein altes Problem, das in einer Arbeit eines Forschungsteams der Universität Wien erwähnt wurde; 2016 wurde sie bei Telegram auf dieselbe Weise ausgenutzt, wodurch die iranische Regierung Telefonnummern von 15 Millionen Nutzern sammelte
    Weiterführender Link: Telegram-Blog

    • Bei Code-Audits in meinem früheren Job habe ich solche Serialisierungsschwachstellen überall gefunden. Entwickler sollten aufhören, solche Bibliotheken zu verwenden
    • Solche Probleme sind wirklich häufig. Sensible Felder werden an den Client gesendet, aber weil sie in der UI nicht sichtbar sind, bemerkt es niemand
    • Dass die PIN offengelegt wurde, ist schon schlimm, aber die Speicherung im Klartext ist noch gravierender. Sie hätte wie ein Passwort mit einem starken Hashing-Algorithmus verarbeitet werden müssen
  • Die meisten Sicherheitslücken entstehen heute einfach dadurch, dass man HTTP-Endpunkte auf unerwartete Weise aufruft
    Wenn man 2025 an Hacking denkt, stellt man sich komplexe Techniken vor, aber in der Realität werden APIs ohne jedes Rate Limiting ausgerollt. Das wäre mit einer einzigen Zeile Nginx-Konfiguration lösbar

    • Bei dem Satz „Das ist mit einer Zeile Nginx-Konfiguration erledigt“ denke ich sofort an die Reaktion: „Stand nicht im Docker-Tutorial, also weiß ich nicht, was das ist“
    • Die Softwareentwicklung hat Fortschritte gemacht, aber Prinzipien sicherer Entwicklung sind kaum mitgewachsen
      Die meisten Ziele bestehen darin, Reibung für Nutzer zu verringern und die kommerzielle Effizienz zu steigern. Viele Entwickler implementieren einfach Features, ohne grundlegende Schwachstellen wie XSS oder SSRF zu kennen
    • Selbst einfache Konfigurationen kann man nur anwenden, wenn man überhaupt weiß, dass es sie gibt
    • Früher hielt ich automatisierte interne Sicherheitsscans für nutzlos, aber nachdem ich gesehen habe, wie oft selbst grundlegende Konfigurationen fehlen, halte ich sie für unverzichtbar
      Elementare Sicherheitsfehler wie falsches Docker-Port-Mapping oder fehlende CSP sind viel zu häufig
    • Aber Rate Limiting allein reicht nicht aus. Ein Angreifer kann IPs verteilen und parallele Anfragen schicken
  • Als ich den Satz las, man wolle „den Lesern nur die besten Blogbeiträge bieten“, hatte ich das Gefühl, jemanden mit ähnlicher Denkweise gefunden zu haben

  • Ich frage mich, ob Freedom Chat® eine Funktion hat, mit der verhindert werden kann, dass Reporter an Gruppenchats teilnehmen. Halb im Scherz, halb im Ernst gefragt – für einen DoD-Freund

  • Allein dieses Jahr gab es schon mehrere Fälle, in denen eine „Sicherheits-App“ beim Umgang mit Nutzerdaten Datenlecks verursacht hat
    Aus dem Stegreif fallen mir schon 20 Cent wert ein (=4 Fälle), aber wahrscheinlich gibt es noch mehr
    Verwandte Fälle: 1, 2, 3

    • Ich denke, dieses Ereignis zeigt, wie wichtig eine Abwanderung von Facebook Messenger ist
    • Und das ist nur ein Teil dessen, was wir überhaupt wissen
  • Letztes Jahr bin ich zufällig auf ein GOP-Jobboard gestoßen, bei dem Bewerbungen im selben Suchindex gespeichert waren wie die Stellenausschreibungen
    Als ich nach „bob“ suchte, wurden die Lebensläufe und Antworten der Bewerber unverändert offengelegt, was ziemlich schockierend war

    • Ich frage mich, um welche Seite es sich handelte
  • Seit dem Anom-Fall braucht es wohl ein passenderes Wort als Honeypot
    Ein wirklich sicherer Messenger wird auf diese Weise wohl nicht entstehen. Aber das Marketing geht weiter, und jedes Mal werden neue Nutzer angelockt

    • Wir leben inzwischen in einer Welt, in der Scheitern selbst zum Feature wird
      Datenlecks passieren so häufig, dass die Leute inzwischen abgestumpft sind. Selbst Entschädigungen aus Sammelklagen laufen am Ende darauf hinaus, noch mehr persönliche Daten preiszugeben
      Auch Vorhersagemärkte, Kryptowährungen und Ähnliches wirken oft so, als würden strukturelle Fehlschläge, die den Teilnehmern schaden, als „Erfolg“ verkauft
    • Als neues Wort wurde „Petepot“ vorgeschlagen
  • Freedom Chat hat zwar angekündigt, das „Problem behoben“ zu haben, aber ich frage mich, ob es wirklich behoben wurde

  • Falls der Satz „Ich hatte keine Erfahrung mit mobiler App-Entwicklung, dachte aber, weil ich klug bin, wird das nicht schwer sein“ ein echtes Zitat ist, klingt er fast wie eine Punchline aus einem Stand-up-Comedy-Programm