CVE-2021-21423
projen 中将版本控制仓库暴露给未授权控制范围
- 已发布
- 2021年4月6日
- 已更新
- 2024年8月3日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月31日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N低 · 未来 30 天
- 百分位
- 70.5%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
`projen` 是一个项目生成工具,它根据用 JavaScript 编写的类型良好的定义,综合生成项目配置文件,例如 `package.json`、`tsconfig.json`、`.gitignore`、GitHub Workflows、`eslint`、`jest` 等。使用 projen 的 `NodeProject` 项目类型(包括任何派生自它的项目类型)的用户,会包含一个 `.github/workflows/rebuild-bot.yml` 工作流,该工作流可能允许任何 GitHub 用户在“主”仓库(相对于 fork 仓库)的上下文中触发执行不受信任的代码。在某些情况下,此类不受信任的代码可能能够提交到“主”仓库。rebuild-bot 工作流由包含 `@projen rebuild` 的评论在拉取请求上触发,以重新构建 projen 项目,并用更新后的文件更新拉取请求。此工作流由 `issue_comment` 事件触发,因此始终使用属于拉取请求所针对的仓库的 `GITHUB_TOKEN` 执行(这与由 `pull_request` 事件触发的工作流形成对比,后者始终使用属于发起拉取请求的仓库的 `GITHUB_TOKEN` 执行)。未在其默认分支(通常是 `main` 或 `master`)上配置分支保护的仓库,可能允许不受信任的用户访问仓库上配置的机密(例如 NPM 令牌等)。分支保护可阻止这种权限提升,因为受管理的 `GITHUB_TOKEN` 无法修改受保护分支的内容,并且受影响的工作流必须定义在默认分支上。
来源
1授权安全研究实验室复现 CVE-2021-21423(GHSA-gg2g-m5wc-vccq):通过 issue_comment 对 projen rebuild-bot 的 pwn 请求
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。