Gültiger Newsletter-API-Schlüssel im Website-Code veröffentlicht
shop.admin-soehne.example · /assets/app.js · E-Mail-Marketing-Dienst
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Beschreibung
Die Agenten meldeten einen Schlüssel in einer JavaScript-Datei des Shops. Der Tester bestätigte von Hand, dass es der gültige Schlüssel des E-Mail-Marketing-Dienstes ist. Er erlaubt, die Abonnentenliste zu lesen und Mailings an sie zu versenden.
Reproduktion
- Die öffentliche JavaScript-Datei des Shops laden, die die Agenten gemeldet haben.
- Darin den gemeldeten Schlüssel finden.
- Mit der Admin-Person des Kunden die Rechte des Schlüssels prüfen: Er darf die Abonnentenliste lesen und Mailings versenden.
Agenten-Meldung: Schlüssel in /assets/app.js des Shops (gekürzt)
Prüfung durch Tester: gültiger Schlüssel des Marketing-Dienstes
Rechte: Abonnentenliste lesen = ja · Mailings senden = ja Geschäftliche Auswirkung
Jeder kann allen Abonnenten eine Phishing-Mail von Ihrer echten Absenderadresse schicken und deren Namen und E-Mail-Adressen lesen. Imageschaden und DSGVO-Vorfall in einem, auch wenn keine Bestell- oder Zahlungsdaten betroffen sind.
Empfehlung
Den Schlüssel sperren und einen neuen ausstellen, der auf dem Server bleibt. Anmeldungen über das eigene Backend an den Marketing-Dienst weitergeben. Die Geheimnis-Prüfung der Agenten bei jedem Release laufen lassen.
OWASP Top 10 2021: A05 Security Misconfiguration · CWE-798 (Use of Hard-coded Credentials) · CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)