GHSA-46g3-37rh-v698
Egress Policy Bypass via DNS over HTTPS (DoH) in Harden-Runner (Community Tier)
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| GitHub Actions | step-security/harden-runner | < 2.16.0 | 2.16.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
## Summary
A vulnerability exists in the Community Tier of Harden-Runner that allows bypassing the `egress-policy: block` network restriction using DNS over HTTPS (DoH).
Harden-Runner secures GitHub Actions workflows on runners by applying network policies, including an `allowed-endpoints` configuration that limits outbound traffic to specified domains and ports (e.g., `github.com:443`). In `egress-policy: block` mode, non-compliant connections are intercepted and denied.
This vulnerability exploits DoH, a protocol that encapsulates DNS queries within HTTPS requests. By crafting a DNS query that embeds exfiltrated data as a subdomain (e.g., encoding the runner's hostname into a label), an attacker can route the request through a permitted HTTPS endpoint like `dns.google` (`8.8.8.8`'s DoH service). The resolver processes the query and forwards it to the attacker's controlled domain, achieving exfiltration without directly accessing the blocked destination. This evades Harden-Runner's domain-based filtering, as the initial HTTPS connection appears legitimate.
This vulnerability requires the attacker to already have code execution capabilities within the GitHub Actions workflow.
The Enterprise Tier of Harden-Runner is **not affected** by this vulnerability.
## Impact
When Harden-Runner is configured with `egress-policy: block` and a restrictive `allowed-endpoints` list, an attacker with existing code execution capabilities within a GitHub Actions workflow can bypass the allowed domains check via DNS over HTTPS by proxying DNS queries through a permitted resolver (e.g., Google's DoH service). This allows data exfiltration even when `allowed-endpoints` is set to only whitelisted domains.
This vulnerability affects only the Community Tier. It requires the attacker to already have code execution capabilities within the GitHub Actions workflow.
## Remediation
### For Community Tier Users
Upgrade to Harden-Runner v2.16.0 or later.
### For Enterprise Tier Users
No action required. Enterprise tier customers are not affected by this vulnerability.
## Credit
We would like to thank [Devansh Batham](https://github.com/devanshbatham) for responsibly disclosing this vulnerability through our security reporting process.
References
External links from the advisory. They lead to third-party sites.