CVE-2026-32946 json
Egress Policy Bypass via DNS over TCP in Harden-Runner (Community Tier)
published 2026-03-17 7 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-13517 , GHSA-g699-3x6g-wm3g
- cvss
- 2.7
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 18%
- public exploits
- 0
- none known
Summary
Harden-Runner is a CI/CD security agent that works like an EDR for GitHub Actions runners. In versions 2.15.1 and below, the Harden-Runner that allows bypass of the egress-policy: block network restriction using DNS queries over TCP. Egress policies are enforced on GitHub runners by filtering outbound connections at the network layer. When egress-policy: block is enabled with a restrictive allowed-endpoints list (e.g., only github.com:443), all non-compliant traffic should be denied. However, DNS queries over TCP, commonly used for large responses or fallback from UDP, are not adequately restricted. Tools like dig can explicitly initiate TCP-based DNS queries (+tcp flag) without being blocked. This vulnerability requires the attacker to already have code execution capabilities within the GitHub Actions workflow. The issue has been fixed in version 2.16.0.
Patch / fix
- github-actions step-security/harden-runner 2.16.0
- stepsecurity harden-runner 2.16.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-32946 updated cvss 4.9
step-security/harden-runner: Harden-Runner: Egress policy bypass via DNS over TCP
-
Red Hat External Secrets Operator for Red Hat OpenShift external-secrets-operator/external-secrets-rhel9, external-secrets-operator/bitwarden-sdk-server-rhel9, external-secrets-operator/external-secrets-operator-rhel9, external-secrets-operator/external-secrets-operator-bundle Red Hat Gatekeeper 3 gatekeeper/gatekeeper-rhel9affected: no fix available “Fix deferred”
-
Red Hat Multicluster Engine for Kubernetes multicluster-engine/work-rhel9, multicluster-engine/placement-rhel9, multicluster-engine/registration-rhel9, multicluster-engine/addon-manager-rhel9, multicluster-engine/registration-operator-rhel9affected: no fix planned “Out of support scope”
-
Red Hat OpenShift for Windows Containers openshift4-wincw/windows-machine-config-rhel9-operator, openshift4-wincw/windows-machine-config-operator-bundleaffected: no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.26% chance of exploitation in the next 30 days, higher than 18% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 4.6 | CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N |
| CNA | 4.0 | 4.6 | CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 2.7 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| github-actions | step-security/harden-runner | <2.16.0 |
2.16.0 |
Affected products
- step-security harden-runner
Classification
References
-
github.com
/step-security/harden-runner/security/advisories/GHSA-g699-3x6g-wm3g
web, vendor-advisory
-
github.com
/step-security/harden-runner/releases/tag/v2.16.0
web, product, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-32946
advisory
-
github.com
/step-security/harden-runner
package
Sources
- CVE List CVE-2026-32946
- GitHub Advisory GHSA-g699-3x6g-wm3g
- NVD CVE-2026-32946
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.