从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞编号和标题: - 漏洞编号:GHSL-2024-178 - 漏洞标题:Possible full repository takeover for RSSHub through Artifact Poisoning - CVE-2024-47179 2. 报告日期: - 报告日期:October 2, 2024 3. 报告者: - 报告者:Alvaro Munoz 4. 披露时间线: - 2024-07-29:通过GitHub的Private Vulnerability Reporting (PVR)报告。 - 2024-09-05:Security Lab请求状态更新。 - 2024-09-25:问题已修复。 - 2024-09-25:公告发布。 5. 项目: - 项目名称:RSSHub 6. 测试版本: - 最新提交时间:报告时的最新提交。 7. 漏洞细节: - Artifact Poisoning in docker-test-cont.yml workflow: - 当PR - Docker build test workflow成功完成时,docker-test-cont.yml workflow会被触发。 - 工作流收集有关触发工作流的Pull Request的信息,并根据PR的主体和发送者设置一些标签。 - 如果PR包含一个routes markdown块,它将设置TEST_CONTINUE环境变量为true。 - 工作流下载并提取由触发工作流上传的artifact,该artifact应该包含一个单一的rsshub.tar.zst文件。 - 由于artifact的内容没有被验证,恶意攻击者可以发送一个Pull Request,不仅包含rsshub.tar.zst压缩的docker镜像,还可以包含一个恶意的package.json文件,其中包含一个脚本来在特权工作流的上下文中运行任意代码。 8. PoC: - 克隆仓库。 - 修改docker-test.yml工作流,保留原始内容并进行以下修改: - 在上传artifact步骤之前添加以下步骤: - Test Docker image - Export Docker image - Upload Docker image - 创建Pull Request并添加有效的routes注释在Pull Request的主体中。 - 观察漏洞工作流日志的执行,并查找COMPROMISED一词。 9. 影响: - 工作流具有full-write privileges,这可能允许恶意攻击者接管仓库。 10. 资源: - CodeQL for JavaScript - Expression injection in Actions - Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests - Keeping your GitHub Actions and workflows secure Part 2: Untrusted input 11. CVE: - CVE-2024-47179 12. 信用: - 该问题由GHSL团队成员@pwntester (Alvaro Munoz)发现并报告。 13. 联系: - 可以通过securitylab@github.com联系GHSL团队,并在任何关于此问题的通信中包含GHSL-2024-178的参考。