CVE-2026-32946: CWE-693: Protection Mechanism Failure in step-security harden-runner
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.
AI Analysis
Technical Summary
CVE-2026-32946 identifies a protection mechanism failure in step-security's Harden-Runner, a security agent designed to enforce egress network restrictions on GitHub Actions runners. Harden-Runner acts similarly to an Endpoint Detection and Response (EDR) tool but specifically for CI/CD environments. In versions 2.15.1 and earlier, when the egress-policy is set to block outbound connections except to a limited set of allowed endpoints (e.g., github.com:443), the enforcement mechanism fails to restrict DNS queries over TCP. Typically, egress policies filter outbound traffic at the network layer to prevent unauthorized data exfiltration or command and control communications. However, DNS queries over TCP, which are less common than UDP but used for large DNS responses or fallback, are not adequately filtered. Attackers with code execution inside the GitHub Actions workflow can exploit this by using tools like dig with the +tcp flag to send DNS queries over TCP, bypassing the egress restrictions. This vulnerability requires prior code execution privileges, meaning it is a post-compromise escalation vector rather than an initial access vulnerability. The vulnerability is classified under CWE-693 (Protection Mechanism Failure) and CWE-863 (Incorrect Authorization). The issue has been addressed in Harden-Runner version 2.16.0, which properly restricts DNS over TCP traffic under egress-policy: block. The CVSS 4.0 base score is 4.6 (medium), reflecting the need for prior access and limited scope of impact. No known exploits have been reported in the wild as of the publication date.
Potential Impact
The primary impact of this vulnerability is the potential for attackers who have already compromised a GitHub Actions workflow environment to bypass network egress restrictions intended to prevent unauthorized outbound communications. This can enable data exfiltration, command and control communication, or lateral movement within the CI/CD infrastructure. Organizations relying on Harden-Runner to enforce strict network policies on GitHub runners may have a false sense of security, as attackers can circumvent these controls using DNS over TCP queries. This could lead to leakage of sensitive source code, credentials, or build artifacts. While the vulnerability requires prior code execution, the ability to bypass egress restrictions increases the attacker's operational capabilities and persistence. The impact is particularly significant for organizations with strict compliance or data protection requirements using GitHub Actions with Harden-Runner. However, since exploitation requires existing access and no known public exploits exist, the immediate risk is moderate but should not be underestimated.
Mitigation Recommendations
1. Upgrade Harden-Runner to version 2.16.0 or later, where the vulnerability is fixed and DNS over TCP queries are properly restricted under egress-policy: block. 2. Implement additional network monitoring on GitHub Actions runners to detect unusual DNS traffic patterns, especially DNS over TCP queries, which are less common and may indicate attempts to bypass egress controls. 3. Restrict or disable the use of tools capable of crafting DNS queries over TCP (e.g., dig with +tcp) within CI/CD workflows unless explicitly required. 4. Employ runtime security controls and anomaly detection on GitHub Actions workflows to detect unauthorized code execution or suspicious network activity. 5. Review and tighten GitHub Actions workflow permissions to minimize the risk of unauthorized code execution. 6. Consider using network-layer firewall rules or proxy configurations external to Harden-Runner to enforce egress policies as a defense-in-depth measure. 7. Regularly audit and validate egress policies and Harden-Runner configurations to ensure they are correctly applied and effective.
Affected Countries
United States, Germany, United Kingdom, Canada, Australia, France, Japan, Netherlands, India, South Korea
CVE-2026-32946: CWE-693: Protection Mechanism Failure in step-security harden-runner
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.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-32946 identifies a protection mechanism failure in step-security's Harden-Runner, a security agent designed to enforce egress network restrictions on GitHub Actions runners. Harden-Runner acts similarly to an Endpoint Detection and Response (EDR) tool but specifically for CI/CD environments. In versions 2.15.1 and earlier, when the egress-policy is set to block outbound connections except to a limited set of allowed endpoints (e.g., github.com:443), the enforcement mechanism fails to restrict DNS queries over TCP. Typically, egress policies filter outbound traffic at the network layer to prevent unauthorized data exfiltration or command and control communications. However, DNS queries over TCP, which are less common than UDP but used for large DNS responses or fallback, are not adequately filtered. Attackers with code execution inside the GitHub Actions workflow can exploit this by using tools like dig with the +tcp flag to send DNS queries over TCP, bypassing the egress restrictions. This vulnerability requires prior code execution privileges, meaning it is a post-compromise escalation vector rather than an initial access vulnerability. The vulnerability is classified under CWE-693 (Protection Mechanism Failure) and CWE-863 (Incorrect Authorization). The issue has been addressed in Harden-Runner version 2.16.0, which properly restricts DNS over TCP traffic under egress-policy: block. The CVSS 4.0 base score is 4.6 (medium), reflecting the need for prior access and limited scope of impact. No known exploits have been reported in the wild as of the publication date.
Potential Impact
The primary impact of this vulnerability is the potential for attackers who have already compromised a GitHub Actions workflow environment to bypass network egress restrictions intended to prevent unauthorized outbound communications. This can enable data exfiltration, command and control communication, or lateral movement within the CI/CD infrastructure. Organizations relying on Harden-Runner to enforce strict network policies on GitHub runners may have a false sense of security, as attackers can circumvent these controls using DNS over TCP queries. This could lead to leakage of sensitive source code, credentials, or build artifacts. While the vulnerability requires prior code execution, the ability to bypass egress restrictions increases the attacker's operational capabilities and persistence. The impact is particularly significant for organizations with strict compliance or data protection requirements using GitHub Actions with Harden-Runner. However, since exploitation requires existing access and no known public exploits exist, the immediate risk is moderate but should not be underestimated.
Mitigation Recommendations
1. Upgrade Harden-Runner to version 2.16.0 or later, where the vulnerability is fixed and DNS over TCP queries are properly restricted under egress-policy: block. 2. Implement additional network monitoring on GitHub Actions runners to detect unusual DNS traffic patterns, especially DNS over TCP queries, which are less common and may indicate attempts to bypass egress controls. 3. Restrict or disable the use of tools capable of crafting DNS queries over TCP (e.g., dig with +tcp) within CI/CD workflows unless explicitly required. 4. Employ runtime security controls and anomaly detection on GitHub Actions workflows to detect unauthorized code execution or suspicious network activity. 5. Review and tighten GitHub Actions workflow permissions to minimize the risk of unauthorized code execution. 6. Consider using network-layer firewall rules or proxy configurations external to Harden-Runner to enforce egress policies as a defense-in-depth measure. 7. Regularly audit and validate egress policies and Harden-Runner configurations to ensure they are correctly applied and effective.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-17T00:05:53.284Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69bcc873e32a4fbe5f2a7913
Added to database: 3/20/2026, 4:09:23 AM
Last enriched: 3/20/2026, 4:25:11 AM
Last updated: 5/3/2026, 11:44:01 PM
Views: 130
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.