Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with account over SSH
-
DeliveryDrive babeld into SSH library call
-
ExploitTrigger re-entrant callback that invalidates held references
-
ExecutionExploit use-after-free as controlled write
-
ImpactExecute arbitrary commands as babeld and disclose environment secrets
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an attacker-controlled account on the target instance with SSH access to the Git service (PR:L) - not anonymous or pre-auth. The trigger is a re-entrant callback invoked when babeld calls into the SSH library while holding references into an internal collection, which invalidates those references (use-after-free); this is reachable through normal authenticated Git-over-SSH operations rather than a non-default feature toggle. The principal limiting factors are that successful code execution requires per-build memory offsets (AC:H) and that failed attempts crash babeld, making exploitation unreliable and likely to produce detectable service outages. Affected: all GitHub Enterprise Server releases prior to 3.23; fixed in 3.22.3, 3.21.8, 3.20.10, and 3.19.14. Per the available sources, updating to a fixed release is the remediation; no alternative mitigation is stated. |
| Impact | This is a genuinely serious but practically gated vulnerability, not an inflated high-CVSS score. The CVSS 4.0 vector (AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) scores 7.7 (High) and reflects full compromise of the babeld process - remote code execution plus disclosure of its environment secrets. Three factors meaningfully constrain real-world risk: PR:L means the attacker needs a valid account with SSH access to the instance (not anonymous), AC:H reflects that successful exploitation requires per-build memory offsets, and the description states that failed attempts crash babeld - making exploitation unreliable, noisy, and likely to generate detectable service disruption. No EPSS score was provided, the CVE is not in CISA KEV, and the only references are vendor release notes with no proof-of-concept, so there is no public exploit identified at time of analysis. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a patch-promptly-but-not-drop-everything posture. Net: credible RCE on an exposed service, but the account requirement plus the fragile per-build-offset trigger make this a prioritized-patch item rather than an actively-exploited crisis. Key missing data: no EPSS, no independent CVSS from NVD shown, and no vendor advisory text beyond release-note anchors. |
| Exploit ScenarioDerived | An attacker who already holds a GitHub Enterprise Server account with SSH access connects to the Git service and issues operations that drive babeld to invoke the SSH library, triggering a re-entrant callback that mutates an internal collection while babeld still holds references into it. By exploiting the resulting use-after-free as a controlled write - and having first determined the correct per-build memory offsets - the attacker runs arbitrary commands as the babeld service and reads its environment secrets. No public exploit code is identified at time of analysis, and because failed attempts crash babeld, a real attack would likely cause observable service instability. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Authenticated remote code execution in GitHub Enterprise Server's Git service (babeld) lets an attacker who has an account and SSH access convert a use-after-free into arbitrary commands as the babeld user, including exposure of its environment secrets. All releases prior to 3.23 are affected; fixes are available in 3.22.3, 3.21.8, 3.20.10, and 3.19.14. Exploitation is constrained by the need for per-build memory offsets and by babeld crashes on failed attempts, and no public exploit was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade GitHub Enterprise Server to 3.22.3, 3.21.8, 3.20.10, or 3.19.14, matching the deployed release branch; the corresponding vendor release notes are https://docs.github.com/en/enterprise-server@3.22/admin/release-notes#3.22.3, https://docs.github.com/en/enterprise-server@3.21/admin/release-notes#3.21.8, https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.10, and https://docs.github.com/en/enterprise-server@3.19/admin/release-notes#3.19.14. The available sources state updating to a fixed release as the remediation and do not describe an alternative mitigation.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is GitHub Enterprise Server's Git service, babeld, and the root cause is CWE-416, a use-after-free. According to the available sources, babeld held references into internal collections while calling into the SSH library, and a re-entrant callback could modify a collection and invalidate those references. Turning the resulting controlled write into code execution required per-build memory offsets, and failed attempts crashed babeld, so exploitation is unreliable and likely to produce a detectable service outage. The issue is reachable through normal authenticated Git-over-SSH operations rather than a non-default feature toggle; the CPE cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:* identifies GitHub Enterprise Server as the affected product.
Know when Github gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:N/SA:N
Network-reachable Git/SSH service but needs an authenticated account (PR:L) and per-build offsets plus crash-on-failure (AC:H); full RCE as babeld gives C:H/I:H/A:H.
Primary rating from Vendor (GitHub_P).
CVSS VectorVendor: GitHub_P
Lifecycle Timeline
2DescriptionCVE.org
A remote code execution vulnerability was identified in GitHub Enterprise Server in the Git service (babeld). babeld held references into internal collections while calling into the SSH library, where a re-entrant callback could modify a collection and invalidate those references. An attacker with an account and SSH access to the instance could leverage this use-after-free into a controlled write and run arbitrary commands as babeld, including disclosure of its environment secrets. Exploitation required per-build memory offsets; failed attempts crashed babeld. This affected all releases prior to 3.23 and was fixed in 3.22.3, 3.21.8, 3.20.10, and 3.19.14. This vulnerability was reported via the GitHub Bug Bounty program.
Executive ViewAI
CVE-2026-104608 presents a high-severity risk to organizations using GitHub Enterprise Server versions before 3.23, as it allows authenticated users with SSH access to execute arbitrary code on the Git service component. This could lead to unauthorized access to sensitive environment secrets and potential lateral movement, impacting development operations and data confidentiality.
Vendor-released patch: 3.22.3, 3.21.8, 3.20.10, and 3.19.14
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Supply chain vulnerability in Eclipse Theia GitHub Actions workflow. The preview.yml workflow uses pull_request_target w
Supply chain attack vector in OpenLIT GitHub Actions workflows. The pull_request_target trigger with checkout enables ma
Eigent multi-agent workflow CI pipeline (ci.yml) uses pull_request_target with checkout of untrusted PR code, enabling a
An unsafe reflection vulnerability was identified in GitHub Enterprise Server that could lead to reflection injection. R
cmark-gfm is GitHub's extended version of the C reference implementation of CommonMark. Rated critical severity (CVSS 9.
An improper verification of cryptographic signature vulnerability was identified in GitHub Enterprise Server that allowe
Unauthenticated infrastructure overwrite in Hoppscotch API development ecosystem before 2026.2.0. Attackers can overwrit
A exposure of sensitive information vulnerability exists in Jenkins GitHub Plugin 1.29.1 and earlier in GitHubTokenCrede
OneUptime versions prior to 10.0.19 allow unauthenticated attackers to hijack GitHub App integrations across projects by
PolarLearn versions 0-PRERELEASE-15 and earlier lack proper state parameter validation in OAuth 2.0 authentication, enab
Path traversal in esm.sh CDN prior to version 0.0.0-20260116051925-c62ab83c589e allows unauthenticated remote attackers
actions/artifact is the GitHub ToolKit for developing GitHub Actions. Rated high severity (CVSS 7.5), this vulnerability
EUVD-2026-116581
GHSA-8r7w-x58w-955w
NVD
CVE.org
Exploit-DB