CVE-2024-1354

8.0 HIGH

📋 TL;DR

A command injection vulnerability in GitHub Enterprise Server allows authenticated users with editor role in the Management Console to execute arbitrary commands and gain admin SSH access via syslog-ng configuration manipulation. This affects all GitHub Enterprise Server instances prior to version 3.12. Attackers need both access to the instance and Management Console editor privileges.

💻 Affected Systems

Products:
  • GitHub Enterprise Server
Versions: All versions prior to 3.12
Operating Systems: GitHub Enterprise Server appliance OS
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Management Console access with editor role; not exploitable by regular GitHub users.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the GitHub Enterprise Server appliance with admin SSH access, enabling data exfiltration, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Privileged escalation from editor to admin, allowing configuration changes, user management, and access to all repositories and settings.

🟢

If Mitigated

Limited to authorized editor users who might misuse their legitimate access, with proper monitoring detecting unusual configuration changes.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access with editor role in Management Console; command injection via syslog-ng configuration file.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.11.5, 3.10.7, 3.9.10, 3.8.15, or any version 3.12+

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

Restart Required: Yes

Instructions:

1. Backup your instance. 2. Download the patched version from GitHub Enterprise downloads. 3. Follow upgrade instructions at https://docs.github.com/en/enterprise-server/admin/installation/upgrading-github-enterprise-server. 4. Restart the appliance.

🔧 Temporary Workarounds

Restrict Management Console Access

all

Limit Management Console editor roles to only essential administrators; review and reduce editor privileges.

Monitor syslog-ng Configuration Changes

linux

Implement file integrity monitoring on /etc/syslog-ng/syslog-ng.conf and related configuration files.

auditctl -w /etc/syslog-ng/syslog-ng.conf -p wa -k syslog_config

🧯 If You Can't Patch

  • Immediately restrict Management Console editor roles to minimal trusted personnel only.
  • Implement strict monitoring and alerting for any syslog-ng configuration file modifications or unusual SSH access patterns.

🔍 How to Verify

Check if Vulnerable:

Check current version via Management Console or SSH: cat /etc/github-enterprise-version

Check Version:

cat /etc/github-enterprise-version

Verify Fix Applied:

Verify version is 3.11.5, 3.10.7, 3.9.10, 3.8.15, or any 3.12+ release.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized modifications to /etc/syslog-ng/syslog-ng.conf
  • Unexpected SSH access from Management Console users
  • Commands containing injection patterns in syslog configuration

Network Indicators:

  • Unusual SSH connections from the GitHub appliance to internal/external systems

SIEM Query:

source="github-enterprise" AND (event="config_change" AND file="/etc/syslog-ng/syslog-ng.conf") OR (event="ssh_login" AND user="admin")

🔗 References

📤 Share & Export