Fix private user email being visible in tag webhooks

Fixes #54721
This commit is contained in:
Luke Duncalfe 2019-01-15 15:11:04 +13:00 committed by Yorick Peterse
parent 29521953c3
commit f27cba0fee
No known key found for this signature in database
GPG key ID: EDD30D2BEB691AC9
3 changed files with 8 additions and 3 deletions

View file

@ -0,0 +1,5 @@
---
title: Fix private user email being visible in push (and tag push) webhooks
merge_request:
author:
type: security

View file

@ -93,7 +93,7 @@ module Gitlab
user_id: user.id,
user_name: user.name,
user_username: user.username,
user_email: user.email,
user_email: user.public_email,
user_avatar: user.avatar_url(only_path: false),
project_id: project.id,
project: project.hook_attrs,

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe Gitlab::DataBuilder::Push do
let(:project) { create(:project, :repository) }
let(:user) { build(:user) }
let(:user) { build(:user, public_email: 'public-email@example.com') }
describe '.build_sample' do
let(:data) { described_class.build_sample(project, user) }
@ -36,7 +36,7 @@ describe Gitlab::DataBuilder::Push do
it { expect(data[:user_id]).to eq(user.id) }
it { expect(data[:user_name]).to eq(user.name) }
it { expect(data[:user_username]).to eq(user.username) }
it { expect(data[:user_email]).to eq(user.email) }
it { expect(data[:user_email]).to eq(user.public_email) }
it { expect(data[:user_avatar]).to eq(user.avatar_url) }
it { expect(data[:project_id]).to eq(project.id) }
it { expect(data[:project]).to be_a(Hash) }