CVE-2024-1355

9.1 CRITICAL

📋 TL;DR

A command injection vulnerability in GitHub Enterprise Server allows attackers with editor role access to the Management Console to execute arbitrary commands and gain admin SSH access via the actions-console docker container. This affects all GitHub Enterprise Server instances prior to version 3.12. Attackers need both access to the instance and editor privileges in the Management Console.

💻 Affected Systems

Products:
  • GitHub Enterprise Server
Versions: All versions prior to 3.12
Operating Systems: Linux (appliance-based)
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Management Console access with editor role; actions-console docker container must be present.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the GitHub Enterprise Server appliance with admin SSH access, allowing data exfiltration, code manipulation, and persistent backdoor installation.

🟠

Likely Case

Unauthorized admin access leading to repository manipulation, credential theft, and potential lateral movement within the enterprise network.

🟢

If Mitigated

Limited impact if proper role-based access controls restrict Management Console access and network segmentation isolates the appliance.

🌐 Internet-Facing: MEDIUM - While the vulnerability requires authenticated access, internet-facing instances with exposed Management Console increase attack surface.
🏢 Internal Only: HIGH - Internal attackers with editor privileges can exploit this to gain full admin control of the appliance.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires authenticated access with editor role in Management Console and knowledge of the vulnerable service URL parameter.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.11.5, 3.10.7, 3.9.10, or 3.8.15

Vendor Advisory: https://docs.github.com/en/enterprise-server@3.10/admin/release-notes#3.10.7

Restart Required: Yes

Instructions:

1. Backup your GitHub Enterprise Server instance. 2. Download the appropriate patch version from GitHub Enterprise releases. 3. Follow the upgrade instructions for your version. 4. Restart the appliance after upgrade completion.

🔧 Temporary Workarounds

Restrict Management Console Access

all

Limit Management Console access to only essential administrators and remove editor roles from unnecessary users.

Network Segmentation

all

Isolate GitHub Enterprise Server appliance from critical network segments to limit lateral movement if compromised.

🧯 If You Can't Patch

  • Immediately audit and remove editor role from all non-essential Management Console users
  • Implement strict network access controls to limit Management Console exposure and monitor for suspicious SSH activity

🔍 How to Verify

Check if Vulnerable:

Check your GitHub Enterprise Server version via the Management Console or SSH: if version is below 3.12 and not one of the patched versions (3.11.5, 3.10.7, 3.9.10, 3.8.15), you are vulnerable.

Check Version:

ssh admin@your-ghes-instance 'ghes-version' or check in Management Console under Support > Version

Verify Fix Applied:

After patching, verify version shows as 3.11.5, 3.10.7, 3.9.10, 3.8.15 or higher in Management Console or via SSH.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SSH login attempts to admin account
  • Suspicious commands in actions-console container logs
  • Unexpected Management Console configuration changes

Network Indicators:

  • Unexpected outbound connections from GitHub appliance
  • SSH traffic from unusual sources to admin port

SIEM Query:

source="github-enterprise" AND (event="ssh_login" AND user="admin" AND result="success") OR (event="management_console_change" AND user_role="editor")

🔗 References

📤 Share & Export