尊敬的腾讯云用户,您好!
腾讯云安全中心监测到,Gitea act_runner 被披露其存在容器逃逸漏洞,漏洞编号CVE-2026-58053。该漏洞可导致远程攻击者通过向恶意仓库提交包含特制 container.options 的工作流,在共享的 Docker 后端 Runner 上绕过容器隔离,访问宿主机 PID/IPC 命名空间并获得 root 权限等危害。
为避免您的业务受影响,腾讯云安全建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。
漏洞详情
Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。而 Gitea act_runner 是 Gitea Actions 的官方执行器(Runner),一个负责接收并运行 CI/CD 工作流任务的独立程序,通常以 Docker 容器或独立二进制进程的方式运行在 Gitea 主服务之外。
在 Gitea act_runner 依赖的 /gitea/act 库 0.262.0 及更早版本中,由于工作流可控制 jobs..container.options 字段,该字段会被追加到作业容器的 Docker 选项中。尽管 Runner 会在配置禁用特权模式时强制将 --privileged 设为 false,并对绑定挂载进行过滤,但其他 Docker 选项(如 --pid=host、--ipc=host、--cap-add=ALL、--security-opt seccomp=unconfined 等)未被过滤或限制。攻击者可通过提交包含上述选项的工作流,创建一个与宿主机共享 PID 和 IPC 命名空间、拥有全部 Linux 能力且安全配置被禁用的容器,进而使用 nsenter 等工具进入宿主机命名空间,以 root 身份执行任意命令。
注:攻击者要成功利用该漏洞,Gitea 实例必须启用了 Actions 功能(Gitea 1.21.0 开始默认启用),并且目标使用 Docker 作为后端的 act_runner 执行工作流,以及攻击者能够触发目标仓库中的 GitHub Actions 或 Gitea Actions Workflow。
目前该漏洞的漏洞细节、POC已公开。
风险等级
高风险
漏洞风险
远程攻击者利用该漏洞可在共享 Runner 的宿主机上执行任意命令,窃取 Runner 主机上的仓库密钥、部署凭据,或访问同一宿主机上其他作业容器的数据,造成严重的供应链安全风险。
影响版本
Gitea act <= 0.262.0(官方尚未公布完整受影响版本范围,受影响版本基于风险披露源验证 )
安全版本
官方暂未发布安全版本
修复建议
1. 官方暂未发布漏洞补丁及修复版本,请评估业务是否受影响后,及时关注官方针对该漏洞的修复,并且强烈建议将 Gitea 主服务升级至最新版本 v1.27.0-rc0:
https://gitea.com/gitea/act
https://github.com/go-gitea/gitea/releases/tag/v1.27.0-rc0
2. 缓解措施:
(1) 避免将 Docker 后端的 act_runner 暴露给不可信的工作流(如来自 fork 仓库的 PR);
(2) 使用隔离性更强的 Runner 方案(如 Kubernetes 后端配合更强的 Pod 安全策略,或使用单租户 Runner);
(3) 在 act_runner 配置中,通过自定义环境变量或修改源码,拒绝工作流提供的 container.options 中的危险选项(如 --pid=host、--cap-add、--security-opt 等);
(4) 限制共享 Runner 仅用于可信仓库,对不可信来源的工作流使用独立的隔离 Runner。
【备注】:建议您在升级前做好数据备份工作,避免出现意外
漏洞参考