CVE-2026-25598: Harden-Runner Bypassing Logging Of Outbound Connections Vulnerability

MODERATE
Advisory Identifier: GHSA-cpmj-h4f6-r6pq
CWE-778 CWE-863 CWE-221
Published
Advisory Summary

CVE-2026-25598 is a MODERATE bypassing logging of outbound connections vulnerability (CWE-778: Insufficient Logging) affecting Harden-Runner libraries in the GitHub Actions ecosystem. The issue involves bypassing logging of outbound connections using sendto, sendmsg, and sendmmsg in harden-runner (community tier). Remediation is available by upgrading affected packages to version 2.14.2.

CVE-2026-25598 at a Glance

CVE Identifier CVE-2026-25598
GHSA Identifier GHSA-cpmj-h4f6-r6pq
Severity MODERATE
CVSS v3.1 Base Score N/A
CWE Classification CWE-778: Insufficient Logging
Affected Product Harden-Runner
Package Ecosystem GitHub Actions
Published Date
Last Updated

How to Fix CVE-2026-25598

To remediate this vulnerability, upgrade all affected Harden-Runner dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

step-security/harden-runner fixed: 2.14.2
Upgrade step-security/harden-runner to 2.14.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for step-security/harden-runner

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-25598, inspect your project dependencies for Harden-Runner:

inspect dependencies for step-security/harden-runner

Analyze the terminal output to locate any version of Harden-Runner in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.14.2), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-778: Insufficient Logging, where when a security-critical event occurs, the product either does not record the event or omits important details about the event when logging it. In Harden-Runner, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

## Summary A security vulnerability has been identified in the Harden-Runner GitHub Action (Community Tier) that allows outbound network connections to evade audit logging. Specifically, outbound traffic using the `sendto`, `sendmsg`, and `sendmmsg` socket system calls can bypass detection and logging when using `egress-policy: audit`. **Note:** This vulnerability only affects audit mode. When using `egress-policy: block`, these connections are properly blocked. It requires the attacker to already have code execution capabilities within the GitHub Actions workflow (e.g., through workflow injection or compromised dependencies) ## Affected Versions - Harden-Runner Community Tier: All versions prior to v2.14.2 - Harden-Runner Enterprise Tier: **NOT AFFECTED** ## Severity **Medium** - This vulnerability affects audit logging capabilities but requires the attacker to already have code execution within the workflow. ## Impact When Harden-Runner is configured in audit mode (`egress-policy: audit`), attackers with the ability to execute arbitrary code in a workflow can: - Send outbound network traffic without generating audit logs - Bypass network monitoring for UDP-based communications **Important:** This vulnerability requires the attacker to already have code execution capabilities within the GitHub Actions workflow (e.g., through workflow injection or compromised dependencies). ## Technical Details The vulnerability stems from incomplete monitoring coverage of certain socket-related system calls. Specifically, the following system calls can be used to send UDP traffic without triggering audit events: - `sendto()` - `sendmsg()` - `sendmmsg()` An attacker with code execution in a workflow can compile and execute native code that uses these system calls to establish covert communication channels. ## Affected Users **This vulnerability ONLY affects users of the Harden-Runner Community Tier.** The Harden-Runner Enterprise Tier is **NOT vulnerable** to this bypass technique. ## Remediation ### For Community Tier Users **Upgrade to Harden-Runner v2.14.2 or later.** This version includes fixes for the logging bypass vulnerability. ### 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. Devansh was communicative throughout the process and verified the fix before the fix before it was made public.

CVE-2026-25598 Affected Harden-Runner Versions

1 component(s)
Fixed Versions:
2.14.2
Product / Package Ecosystem Affected Versions Fixed Version
step-security/harden-runner
GitHub Actions
< 2.14.2
2.14.2

References

Frequently Asked Questions

What is CVE-2026-25598?
CVE-2026-25598 is a security vulnerability in Harden-Runner involving Bypassing Logging of Outbound Connections Using sendto, sendmsg, and sendmmsg in Harden-Runner (Community Tier) under CWE-778: Insufficient Logging.
Which Harden-Runner versions are affected?
Affected versions include releases prior to 2.14.2 across affected packages: step-security/harden-runner.
What version fixes CVE-2026-25598?
Upgrading to 2.14.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is step-security/harden-runner affected?
Yes, step-security/harden-runner is affected in releases prior to 2.14.2. Upgrade your dependency to 2.14.2 or later.
What CWE is associated with CVE-2026-25598?
CVE-2026-25598 is classified under CWE-778: Insufficient Logging (When a security-critical event occurs, the product either does not record the event or omits important details about the event when logging it.).
How can I check GitHub Actions dependencies for CVE-2026-25598?
Run the dependency tree command: 'inspect dependencies for step-security/harden-runner'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-cpmj-h4f6-r6pq",
  "modified" : "2026-02-09T22:39:28Z",
  "published" : "2026-02-09T17:19:14Z",
  "aliases" : [ "CVE-2026-25598" ],
  "summary" : "Harden-Runner: Bypassing Logging of Outbound Connections Using sendto, sendmsg, and sendmmsg in Harden-Runner (Community Tier)",
  "details" : "## Summary \n\nA security vulnerability has been identified in the Harden-Runner GitHub Action (Community Tier) that allows outbound network connections to evade audit logging. Specifically, outbound traffic using the `sendto`, `sendmsg`, and `sendmmsg` socket system calls can bypass detection and logging when using `egress-policy: audit`. \n\n**Note:** This vulnerability only affects audit mode. When using `egress-policy: block`, these connections are properly blocked. It requires the attacker to already have code execution capabilities within the GitHub Actions workflow (e.g., through workflow injection or compromised dependencies)\n\n## Affected Versions \n\n- Harden-Runner Community Tier: All versions prior to v2.14.2 \n- Harden-Runner Enterprise Tier: **NOT AFFECTED** \n\n## Severity \n\n**Medium** - This vulnerability affects audit logging capabilities but requires the attacker to already have code execution within the workflow. \n\n## Impact \n\nWhen Harden-Runner is configured in audit mode (`egress-policy: audit`), attackers with the ability to execute arbitrary code in a workflow can: \n- Send outbound network traffic without generating audit logs \n- Bypass network monitoring for UDP-based communications \n\n**Important:** This vulnerability requires the attacker to already have code execution capabilities within the GitHub Actions workflow (e.g., through workflow injection or compromised dependencies). \n\n## Technical Details \n\nThe vulnerability stems from incomplete monitoring coverage of certain socket-related system calls. Specifically, the following system calls can be used to send UDP traffic without triggering audit events: \n\n- `sendto()` \n\n- `sendmsg()` \n\n- `sendmmsg()` \n\nAn attacker with code execution in a workflow can compile and execute native code that uses these system calls to establish covert communication channels. \n\n## Affected Users \n\n**This vulnerability ONLY affects users of the Harden-Runner Community Tier.** \n\nThe Harden-Runner Enterprise Tier is **NOT vulnerable** to this bypass technique. \n\n## Remediation \n\n### For Community Tier Users \n \n**Upgrade to Harden-Runner v2.14.2 or later.** This version includes fixes for the logging bypass vulnerability. \n\n### For Enterprise Tier Users \n\nNo action required. Enterprise tier customers are not affected by this vulnerability. \n\n## Credit \n\nWe would like to thank [Devansh Batham](https://github.com/devanshbatham) for responsibly disclosing this vulnerability through our security reporting process. Devansh was communicative throughout the process and verified the fix before the fix before it was made public.",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "GitHub Actions",
      "name" : "step-security/harden-runner"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "2.14.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/step-security/harden-runner/security/advisories/GHSA-cpmj-h4f6-r6pq"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-25598"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/step-security/harden-runner/commit/5ef0c079ce82195b2a36a210272d6b661572d83e"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/step-security/harden-runner"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/step-security/harden-runner/releases/tag/v2.14.2"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-221", "CWE-778", "CWE-863" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-02-09T17:19:14Z",
    "nvd_published_at" : "2026-02-09T20:15:58Z"
  }
}