{"id":"CVE-2026-32946","state":"PUBLISHED","title":"Egress Policy Bypass via DNS over TCP in Harden-Runner (Community Tier)","description":"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.","publishedAt":"2026-03-20T03:58:40.557Z","updatedAt":"2026-03-20T15:47:42.018Z","severity":{"score":4.6,"label":"Medium","version":"4.0","vector":"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","source":"GitHub_M"},"assigner":"GitHub_M","products":["step-security harden-runner"],"affected":[{"vendor":"step-security","product":"harden-runner","versions":[{"version":"< 2.16.0","status":"affected"}]}],"references":["https://github.com/step-security/harden-runner/security/advisories/GHSA-g699-3x6g-wm3g","https://github.com/step-security/harden-runner/releases/tag/v2.16.0"],"weaknesses":["CWE-693","CWE-863"],"ingestedAt":"2026-10-29T20:11:40.391Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/32xxx/CVE-2026-32946.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-32946","state":"PUBLISHED","datePublished":"2026-03-20T03:58:40.557Z","dateUpdated":"2026-03-20T15:47:42.018Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-03-17T00:05:53.284Z"},"containers":{"cna":{"title":"Egress Policy Bypass via DNS over TCP in Harden-Runner (Community Tier)","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"step-security","product":"harden-runner","versions":[{"version":"< 2.16.0","status":"affected"}]}],"references":[{"url":"https://github.com/step-security/harden-runner/security/advisories/GHSA-g699-3x6g-wm3g","name":"https://github.com/step-security/harden-runner/security/advisories/GHSA-g699-3x6g-wm3g","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/step-security/harden-runner/releases/tag/v2.16.0","name":"https://github.com/step-security/harden-runner/releases/tag/v2.16.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"HIGH","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"HIGH","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":4.6,"baseSeverity":"MEDIUM","vectorString":"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","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-693","lang":"en","description":"CWE-693: Protection Mechanism Failure","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863: Incorrect Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-03-20T03:58:40.557Z"},"source":{"advisory":"GHSA-g699-3x6g-wm3g","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-03-20T15:47:30.696684Z","id":"CVE-2026-32946","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-03-20T15:47:42.018Z"}}]}}}