RSSHub 的 `docker-test-cont.yml` 工作流程容易受到 Artifact Poisoning 攻击,这可能导致整个存储库被接管。(CVE-2024-47179)

CVE编号

CVE-2024-47179

利用情况

暂无

补丁情况

N/A

披露时间

2024-09-27
漏洞描述
RSSHub 是一个 RSS 网络。在 commit 64e00e7 之前,RSSHub 的 `docker-test-cont.yml` 工作流存在 Artifact Poisoning 漏洞,可能导致整个仓库被接管。RSSHub 的下游用户不会受到此问题的影响。commit 64e00e7 修复了基础问题,使仓库不再易受攻击。`docker-test-cont.yml` 工作流会在 `PR - Docker build test` 工作流成功完成后被触发。它会收集一些关于触发工作流的拉取请求的信息,并根据拉取请求正文和发送者设置一些标签。如果拉取请求还包含 `routes` markdown 块,则会将 `TEST_CONTINUE` 环境变量设置为 `true`。然后,该工作流会下载并解压由触发工作流上传的工件,该工件应包含一个名为 `rsshub.tar.zst` 的文件。但在 commit 64e00e7 之前,它没有进行验证,内容会被提取到工作区的根目录,覆盖现有文件。由于没有对工件内容进行验证,恶意行为者有可能发送一个拉取请求,上传的不仅仅是 `rsshub.tar.zst` 压缩的 docker 镜像,还包括一个带有脚本的 `package.json` 文件,在具有特权的工作流环境中运行任意代码。截至 commit 64e00e7,此场景已经得到解决,RSSHub 仓库不再易受攻击。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
CVSS3评分
N/A
  • 攻击路径
    N/A
  • 攻击复杂度
    N/A
  • 权限要求
    N/A
  • 影响范围
    N/A
  • 用户交互
    N/A
  • 可用性
    N/A
  • 保密性
    N/A
  • 完整性
    N/A
CWE-ID 漏洞类型
CWE-20 输入验证不恰当
阿里云安全产品覆盖情况