POJIA破甲
地图 / Initial mirror user can be assigned by other user even if the mirror was removed

Initial mirror user can be assigned by other user even if the mirror was removed

访问控制 / 访问控制缺陷(通用) / #819821

厂商
GitLab
严重程度
低危
赏金
$3,000
弱点
访问控制缺陷(通用)
研究员
@sky003
披露日期
2020-08-26
资产
gitlab.com
CVE
—

该报告还没有中文解读。

原文摘录

摘自原文(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 所有

同类报告

Account Takeover via Password Reset without user interactionsGitLab · 2025-02-26 · $35,000Exfiltrate and mutate repository and project data through injected templated serviceGitLab · 2019-03-05 · $11,000Getting all the CD keys of any gameValve · 2018-10-31 · $20,000Ability to reset password for accountUpserve · 2019-06-06Publicly accessible Continuous Integration ToolSnapchat · 2021-07-29One-click account hijack for anyone using Apple sign-in with Reddit, due to response-type switch + leaking href to XSS on www.redditmedia.comReddit · 2022-08-02