CVE-2026-73802

CRITICALPre-NVD 9.99.9
EchelonGraph scoreLOW confidence

This critical-severity CVE scores 9.9 under the CNA's CVSS (NVD's own analysis pending). EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: cna:github_m
9.9EG
EchelonGraph verdictPlan mitigationSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: —CVSS: 9.9Exploit: None knownExposed services: Not assessed

No fix is confirmed yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for the fix.

gitea-runner: workflow container.options passes host namespaces and capability flags to job container when privileged mode is disabled

Summary

act_runner appends workflow-controlled jobs..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 act_runner:
  • 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:

Privileged=false
PidMode=host
IpcMode=host
CapAdd=["ALL"]
SecurityOpt=["seccomp=unconfined","apparmor=unconfined"]

Attacker workflow YAML:

jobs:
  breakout:
    runs-on: ubuntu-latest
    container:
      image: ubuntu:22.04
      options: >-
        --pid=host --ipc=host --cap-add=ALL 
        --security-opt seccomp=unconfined 
        --security-opt apparmor=unconfined
    steps:
  • name: host namespace marker
run: | nsenter -t 1 -m -u -i -n -p -- sh -c "id > /tmp/marker"

Impact

An attacker who can submit a workflow to a repository using a shared Docker-backed act_runner can:
  • Enter host PID, IPC, and mount namespaces
  • Execute arbitrary commands as root on the runner host
  • Access runner host secrets, deployment credentials, and environment variables
  • Pivot to adjacent jobs running on the same runner
  • Access internal build infrastructure reachable from the runner host

Critical severity for shared runners where untrusted users can trigger workflows. High severity for single-tenant runners with privileged mode explicitly disabled as a security control.

Fix Direction

Treat container.options as untrusted input. Reject or strip when privileged mode is disabled:
  • Host namespaces: --pid=host, --ipc=host, --uts=host, --network=host
  • Capability expansion: --cap-add ALL, --cap-add SYS_ADMIN
  • Security overrides: --security-opt seccomp=unconfined, --security-opt apparmor=unconfined
  • Device access: --device, --device-cgroup-rule
  • Volume inheritance: --volumes-from
  • Runtime controls: --runtime, --cgroup-parent

CVSS v3
9.9
EG Score
9.9CRITICALlow confidence
EG Risk
49
EG Risk 49/100CISA SSVC

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity99% × 45%
Exploitation0% × 40%
Automatability30% × 15%
CISA SSVC: Track at low or medium mission impact; Track* or Attend at high (mission-essential systems).
Action: No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.
EPSS PROB
—
EPSS %ILE
—
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Track* or Attend at high (mission-essential systems).

No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.

Exploitation none (no KEV listing, exploit record or EPSS ≥ 50%) · Automatable unknown (not published for this CVE) · Technical impact total (CVSS ≥ 9.0). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

October 2, 2026

Last Modified

October 2, 2026

Vendor Advisories for CVE-2026-73802(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
Go(1)
PackageVulnerable rangeFix by version rangeDependents
gitea.com/gitea/runner—
  • every version up to 1.0.9-0.20260731160927-34bfa1915022: fixed in 1.0.9-0.20260731160927-34bfa1915022
—

Data Freshness Timeline

(refreshed 1× in last 7d / 1× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-10-02 23:46 UTCEG score recompute

Frequently asked(4)

What is CVE-2026-73802?
CVE-2026-73802 is a critical vulnerability published on October 2, 2026. gitea-runner: workflow container.options passes host namespaces and capability flags to job container when privileged mode is disabled Summary act_runner appends workflow-controlled jobs.<job>.container.options directly to the Docker HostConfig for the job container. When runner privileged mode is…
When was CVE-2026-73802 disclosed?
CVE-2026-73802 was first published on October 2, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
What is the CVSS score of CVE-2026-73802?
CVE-2026-73802 has a CVSS base score of 9.9 (the CNA's own assessment, by github_m; NVD's own analysis pending). The EG score is currently aggregating — additional source signals are being incorporated as they become available..
How do I remediate CVE-2026-73802?
No fix for CVE-2026-73802 is confirmed yet. Until one is published, restrict network exposure of the affected system or apply the vendor's mitigation — for example, keep it off the internet or limit it to trusted networks — and watch the vendor's advisory for the fix. The vendor advisories EchelonGraph has for CVE-2026-73802 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-73802

Explore →

Is Your Infrastructure Affected by CVE-2026-73802?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.