mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 02:08:36 +00:00
Prevent a user with a different email from accepting the team invite (#24491)
## Changes - Fixes the case where a logged in user can accept an email invitation even if their email address does not match the address in the invitation
This commit is contained in:
@@ -552,6 +552,7 @@ func TeamInvite(ctx *context.Context) {
|
||||
ctx.Data["Organization"] = org
|
||||
ctx.Data["Team"] = team
|
||||
ctx.Data["Inviter"] = inviter
|
||||
ctx.Data["EmailMismatch"] = ctx.Doer.Email != invite.Email
|
||||
|
||||
ctx.HTML(http.StatusOK, tplTeamInvite)
|
||||
}
|
||||
@@ -568,6 +569,13 @@ func TeamInvitePost(ctx *context.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// check that the Doer is the invitee
|
||||
if ctx.Doer.Email != invite.Email {
|
||||
log.Info("invite %d does not apply to the current user %d", invite.ID, ctx.Doer.ID)
|
||||
ctx.NotFound("ErrTeamInviteNotFound", err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := models.AddTeamMember(team, ctx.Doer.ID); err != nil {
|
||||
ctx.ServerError("AddTeamMember", err)
|
||||
return
|
||||
|
Reference in New Issue
Block a user