Critical, CVSS 9.9GoAmendedPublished
gitea-runner: workflow container.options passes host namespaces and capability flags to job container when privileged mode is disabled
CVE-2026-73802 · GHSA-x4q3-gcj3-m6cf
- Affected
- Go gitea.com/gitea/runner < 1.0.9-0.20260731160927-34bfa1915022
- Fixed in
- 1.0.9-0.20260731160927-34bfa1915022· Vendor fix available
- Issue
- actrunner appends workflow-controlled jobs.<job.container.options directly to the Docker HostConfig for the job container. When runner privileged mode is disabled, only Privileged is forced false. Host namespace flags, capability expansion, and security profile overrides from workflow YAML are preserved in the final HostConfig. A workflow author can enter host PID/IPC namespaces and execute commands on the runner host as root. Details Source-to-sink path in actrunner: - ContainerSpec.Options accepts workflow YAML container.options - RunContext.options() appends workflow options to runner-level container options - Job container is created with Privileged: rc.Config.Privileged but also with Options: rc.options(ctx) - mergeContainerConfigs() parses Docker CLI-style options into HostConfig - When privileged mode is disabled, only copts.privileged is forced false - sanitizeConfig() only filters Binds and Mounts - Preserved dangerous HostConfig fields: Attacker workflow YAML:…
Recommended action: Upgrade to 1.0.9-0.20260731160927-34bfa1915022 (pre-release) or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.