ID: SUM-SEC-11
Wave: P1
Severity: Medium
Labels: security, phishing, mail, P1, medium
Branch: fix/SUM-SEC-11-reset-password-login-url
Languages: Go
CWE: CWE-601 / phishing
Summary
action_reset_password uses client vals["login_url"] unsanitized in the email. Web UI may default to /web/login, but RPC callers can inject https://evil.example/... into reset mail.
Track
loginURL := strings.TrimSpace(vals["login_url"])
if loginURL == "" {
loginURL = "/web/login"
}
// no allowlist — used in SendPasswordResetEmail
Acceptance criteria
Files to check / change
sumeru/addons/base/user_object_actions.go (~L47–53)
- Mail send helpers used by reset
ID: SUM-SEC-11
Wave: P1
Severity: Medium
Labels: security, phishing, mail, P1, medium
Branch:
fix/SUM-SEC-11-reset-password-login-urlLanguages: Go
CWE: CWE-601 / phishing
Summary
action_reset_passworduses clientvals["login_url"]unsanitized in the email. Web UI may default to/web/login, but RPC callers can injecthttps://evil.example/...into reset mail.Track
Acceptance criteria
/web/loginonlyweb.base.url/ configlogin_urlnot present in outbound mail payloadFiles to check / change
sumeru/addons/base/user_object_actions.go(~L47–53)