Safeguard
Vulnerability Analysis•

CVE-2024-3646: High Command Injection in GitHub Enterprise Server

CVE-2024-3646 is a high severity command injection in GitHub Enterprise Server chat setup. Upgrade to 3.12.2, 3.11.8, 3.10.10 or 3.9.13 and trim editors.

Safeguard Security Team
3 min read

CVE-2024-3646 is a high severity command injection (CVSS 8.0) in GitHub Enterprise Server. A user with the editor role in the Management Console could gain admin SSH access while configuring the chat integration. It affected versions before 3.12 and is fixed in 3.12.2, 3.11.8, 3.10.10 and 3.9.13.

Weakness class: CWE-20.

What's affected

  • Product: GitHub Enterprise Server.
  • Affected: all versions before 3.12, per the record.
  • Fixed: 3.12.2, 3.11.8, 3.10.10 and 3.9.13.
  • Access needed: access to the instance and the editor role in the Management Console.
  • Severity: High, CVSS 8.0 in the record. The 3.12.2 release notes label it HIGH, so the sources agree.
  • Reported through the GitHub Bug Bounty program. The KEV flag is false.
  • The same release notes also fix CVE-2024-3684, covered in a separate post.

How to check if you're exposed

  1. Sign in to the Management Console and read the version at the top of the dashboard, or run ghe-version over the administrative shell.
  2. Compare it with the fixed releases for your series: 3.9.13, 3.10.10, 3.11.8 or 3.12.2.
  3. List who holds the editor role in the Management Console. The 3.12.2 release notes say the editor role has been deprecated.
  4. Review Management Console audit entries for chat integration changes you cannot explain.

What to do now

  1. Plan an upgrade to the fixed release in your series, or to a newer series.
  2. Before upgrading, reduce the Management Console editor list to the people who need it.
  3. Review chat integration settings for unexpected values.
  4. After upgrading, check administrative SSH access logs for unfamiliar sessions during the exposure window.
  5. Take a backup with GitHub Enterprise Server Backup Utilities before the upgrade.

Why it matters

The record classifies this as CWE-20, improper input validation, and describes the effect as command injection. A setting entered in the Management Console reaches a command on the appliance without proper handling, so a limited role gains a shell level capability. The jump from editor to admin SSH is the privilege escalation that sets the score.

It needs a foothold, which limits the risk: an attacker must already hold a Management Console editor account. But appliance consoles are often shared across teams, and role boundaries there are rarely reviewed. Treat the role list as an access control worth auditing.

Self hosted source control holds your code and often your deploy secrets. Staying on supported series with prompt patch releases is the main defense.

Quick check

Do I need to be on 3.12 to be safe?

No. The fix shipped in 3.9.13, 3.10.10, 3.11.8 and 3.12.2, so pick the one for your series.

Who can exploit it?

Someone with the editor role in the Management Console, per the record.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.