Schlüssel in der App erlaubt Push-Nachrichten an alle Kunden
iOS-App von Admin & Söhne · Dienst für Kundennachrichten
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
Beschreibung
Die App enthält den geheimen Schlüssel für den Dienst, der Push-Nachrichten an Kunden verschickt. Wer die App aus dem App Store lädt, kann ihn auslesen. Der Schlüssel ist nicht auf das beschränkt, was die App braucht: Er kann jedem Kunden beliebige Nachrichten aufs Handy schicken und die Kundenkontakte mit Namen, E-Mail-Adressen und Handynummern lesen.
Reproduktion
- Die öffentliche App aus dem App Store auf ein Testgerät laden.
- Das App-Paket untersuchen: Der Schlüssel für den Nachrichtendienst ist darin gespeichert.
- Mit der Admin-Person des Kunden die Rechte des Schlüssels prüfen: Er darf alle Kundenkontakte lesen und an alle Geräte senden.
App-Paket: Einstellungsdatei enthält den Nachrichtenschlüssel
(gekürzt)
Rechte des Schlüssels: Kundenkontakte lesen = ja
an alle Geräte senden = ja
Lesbare Kundenkontakte: 48.210 (Name, E-Mail, Handynummer) Geschäftliche Auswirkung
Eine gefälschte Nachricht „Ihr Paket wartet, bitte 1,99 EUR zahlen“ aus Ihrer eigenen App erreicht jeden Kunden. Kunden verlieren Geld und Vertrauen, Bewertungen und Support leiden, und die lesbare Kontaktliste ist eine Datenpanne, die nach DSGVO binnen 72 Stunden gemeldet werden muss.
Empfehlung
Den Schlüssel sofort sperren und einen neuen ausstellen, der auf dem Server bleibt. Die App bittet das eigene Backend um den Versand, nie den Nachrichtendienst direkt. Jeder Schlüssel erhält nur die nötigen Rechte, und eine Prüfung im Build schlägt fehl, wenn ein Geheimnis im App-Paket steckt.
OWASP Mobile Top 10 2024: M1 Improper Credential Usage · CWE-798 (Use of Hard-coded Credentials) · OWASP MASVS-STORAGE