CVE-2021-32724
check-spelling 工作流易受通过符号链接攻击导致的 GITHUB_TOKEN 泄露影响
- 已发布
- 2021年9月9日
- 已更新
- 2024年8月3日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月10日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 82.7%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
check-spelling 是一个提供 CI 拼写检查的 github action。在受影响版本中,对于启用了 [check-spelling action](https://github.com/marketplace/actions/check-spelling) 且触发条件为 `pull_request_target`(或 `schedule`)的仓库,攻击者可以发送一个精心构造的 Pull Request,导致 `GITHUB_TOKEN` 被暴露。利用 `GITHUB_TOKEN`,攻击者可以绕过标准审批流程向仓库推送提交。随后,这些提交可以窃取仓库可用的任何/所有机密信息。作为临时解决方案,用户可以:[禁用工作流](https://docs.github.com/en/actions/managing-workflow-runs/disabling-and-enabling-a-workflow),直到修复所有分支,或将仓库设置为[允许特定操作](https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository#allowing-specific-actions-to-run)。check-spelling 并非经过验证的创建者,而且短期内肯定也不会成为。然后您可以显式添加仓库使用的其他操作。将仓库的[工作流权限](https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)设置为 `Read repository contents permission`。使用 `check-spelling/check-spelling@main` 的工作流将自动获得修复。使用固定 sha 或标记版本的工作流需要将所有仓库分支中受影响的工作流更改为最新版本。用户可以通过在仓库的 Actions 选项卡中查看 spelling.yml 操作来验证谁以及哪些 Pull Request 一直在运行该操作,例如,https://github.com/check-spelling/check-spelling/actions/workflows/spelling.yml - 您可以通过添加 ?query=event%3Apull_request_target 来过滤 PR,例如,https://github.com/check-spelling/check-spelling/actions/workflows/spelling.yml?query=event%3Apull_request_target。
来源
1刻意配置了CVE-2021-32724漏洞的GitHub仓库,用于在受控环境中练习利用Check Spelling Workflow。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。