Initial mirror user can be assigned by other user even if the mirror was removed
访问控制 / 访问控制缺陷(通用) / #819821
该报告还没有中文解读。
原文摘录
摘自原文(2967 字符中的一小部分)
Even if the mirror was removed, `project.mirror_user` still will be persisted. So any maintainer can create "pull" mirror with initial mirror user:
原文中的代码
# safe_mirror_params.rb
def valid_mirror_user?(mirror_params)
return true unless mirror_params[:mirror_user_id].present?
default_mirror_users.map(&:id).include?(mirror_params[:mirror_user_id].to_i)
end
def default_mirror_users
# mirror is removed, but "project.mirror_user" is …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 GitLab 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @sky003 · 版权归作者与 GitLab 所有