- Verschickt
- 23. September 2026 um 22:13 UTC
- Autor
- Kamo
- Commit
- d7ff5ed
Mitglieder eröffnen ihr Konto mit einer persönlichen Adresse (gmail, yahoo) und sind später gegeben eine Arbeitsadresse von ihrer Organisation, die sie sich erinnern und Typ auf Forgot-Passwort. Das hat sich immer nur mit dem Login-Host des eigenen org gelöst, und dann ging der Brief an den Arbeitseingang. Für 20 Mitglieder von KamoCRM ist das ein KamoMail-Postfach, die in dem Produkt gelesen wird, sind sie gerade gesperrt aus. Auf jedem anderen Host passte die Adresse niemandem, und die Seite sagte: "Wenn dies E-Mail ist registriert, ein Link wurde gesendet" mit nichts gesendet. /api/recover/email/initiate beantwortet nun die E-Mail des Kontos genau wie zuvor. Für jede andere Adresse sucht sie nach einer Arbeitsadresse für Mitglieder: zuerst in der org deren Login-Seite ist dies (Primary Mailbox, dann members.email), dann in jedem Live org. Wenn dieser ein Konto mit einer eigenen Adresse benennt, wird nichts gesendet. Die Antwort ist ein 409 mit Vernunft WORK_EMAIL und personalEmailHint, der Kontoadresse mit jedem Charakter des Namens zwischen dem ersten und dem letzten Stars, und die Domain in vollem Umfang. Es ist eine 409 absichtlich: eine Login-Seite, die vor der Hinweis zeigt "Nachrichten" für ein Non-2xx, und "message" sagt das gleiche in Worten. Ein Konto ohne eigene Adresse bekommt den Brief noch im Arbeitseingang auf dem Host der Org, da dies der einzige Posteingang ist. Der Hinweis sagt, eine Adresse gehört jemandem, die die generische Antwort nie tat, so dass jeder von CodeAttemptLimiter gezählt wird: fünf pro Stunde pro Adresse eingegeben, plus die Adresse des Anrufers, die mit den Code-Prüfungen geteilt wird. Vergangenheit, dass die Anfrage erhält eine 429.
