CVE-2025-67727Parse Server是一个开源后端框架,可以部署到任何运行Node.js的基础设施上。该漏洞存在于Parse Server 8.6.0-alpha.2之前的版本中,涉及GitHub CI工作流的权限配置问题。在这些版本中,GitHub Actions工作流以提升的权限级别触发,使得工作流能够访问存储在GitHub仓库中的secrets(如部署密钥、API令牌等)以及具有写权限的操作。攻击者可以通过创建包含恶意代码的fork仓库或利用生命周期脚本来触发该工作流,从而窃取敏感凭据或执行未授权的写操作。此漏洞仅影响仓库的CI/CD基础设施,但包括启用了GitHub Actions的公共GitHub forks,可能导致大规模供应链攻击风险。
该漏洞的根本原因在于Parse Server仓库的GitHub Actions工作流配置文件中permissions字段设置过于宽松,允许工作流以高权限级别运行。在GitHub Actions中,工作流可以声明所需的权限范围,当未明确指定或设置为read-all/write-all时,工作流会继承仓库级别的最高权限。攻击者可以利用以下方式利用此漏洞:1) 创建Parse Server的公开fork;2) 在fork中添加恶意代码到生命周期脚本(postinstall、preinstall等)或workflow文件;3) 推送代码触发工作流运行;4) 工作流以提升的权限执行时,恶意代码可以访问GITHUB_TOKEN、secrets和其他敏感环境变量。由于GitHub Actions在运行工作流时会自动设置这些环境变量,攻击者可以通过简单的console.log(process.env)或文件写入操作来窃取这些凭据。修复方案包括:限制工作流权限为最小必要权限(permissions: contents: read),以及在执行外部代码前进行安全验证。