Upgrade GitHub Enterprise Server to the fixed build for your line: 3.19.14, 3.20.10, 3.21.8 or 3.22.3. Canada's Cyber Centre lists all four lines as affected below those builds.1 The release fixes a HIGH SSH use-after-free in the Git service and a HIGH Dependabot flaw that GitHub first fixed in July and then had to fix again, because its notes say the first fix was incomplete.2 Take the SSH fix first if any user can reach the instance over SSH, take the Dependabot fix first if the Dependabot app has workflows: write on repositories that hold Actions secrets, and if you patched Dependabot in July you still need the November build.
GitHub Enterprise Server November 2026 Security Fixes: What to Patch First
GitHub fixed an SSH use-after-free and a Dependabot flaw it had already patched once in July. Here is which build to take for your line and what to check first.
The four version lines
Reported The advisory dated 4 November lists Enterprise Server 3.19.0 before 3.19.14, 3.20.0 before 3.20.10, 3.21.0 before 3.21.8 and 3.22.0 before 3.22.3 as affected.1 It covers the appliance you host, and it lists no hosted-service versions.1
| Line | Affected | Fixed build | July Dependabot fix (not enough alone) |
|---|---|---|---|
| 3.19 | 3.19.0 to before 3.19.141 | 3.19.143 | 3.19.95 |
| 3.20 | 3.20.0 to before 3.20.101 | 3.20.103 | 3.20.55 |
| 3.21 | 3.21.0 to before 3.21.81 | 3.21.83 | 3.21.35 |
| 3.22 | 3.22.0 to before 3.22.31 | 3.22.33 | None listed. The July record says only versions before 3.22 were affected5 |
The sources disagree about older lines. The advisory lists only 3.19 to 3.22. The VulDB entry, which quotes GitHub's wording, says the SSH flaw affected all releases before 3.23 and names fixes only for the four lines above.3 If you run 3.18 or earlier, no fixed build exists for your line, so ask GitHub Support whether you are exposed and plan a move to a fixed line.
What each flaw needs
Reported CVE-2026-104608 is rated HIGH. An attacker with an account and SSH access to the instance could use a use-after-free in the SSH session handling of the Git service, babeld, to get a controlled write. That gives arbitrary commands in the context of the Git service, including disclosure of its environment secrets.2 Exploitation required per-build memory offsets, and failed attempts crashed babeld.3 Neither GitHub's notes nor the CVE records I read report exploitation, and VulDB says no exploit is available.3
Reported CVE-2026-15343 is also rated HIGH. An attacker with code execution inside a Dependabot updater container could write files to unauthorized repository paths, including GitHub Actions workflow files, if the Dependabot installation had the workflows: write permission. Depending on repository permissions and workflow configuration, an injected workflow could run with access to Actions secrets.2 The July record says the original path check looked at the declared file name and not the effective path set by the directory and symlink target, and that a repository using a pull_request_target workflow or auto-merge could run the injected workflow with access to its secrets.5
The Dependabot flaw has a higher bar than the SSH one, because the attacker first needs code execution inside the updater container.2
| If this is true on your instance | Then |
|---|---|
| Users have accounts and can reach the instance over SSH | CVE-2026-104608 applies to you. Upgrade first |
The Dependabot app has workflows: write, and repositories hold Actions secrets | CVE-2026-15343 applies. Upgrade, even if you applied the July build |
Dependabot has no workflows: write | The workflow-file path in the notes is closed. The upgrade is still due |
GitHub's documentation has an option to disable Git SSH access,6 but the release notes do not say it blocks CVE-2026-104608, so treat patching as the fix.
What a jump to 3.22.3 also brings
If you are on 3.22.0 or 3.22.1, the upgrade also takes fixes from the two earlier patches. Version 3.22.1 fixed a CRITICAL notebook-viewer request flaw (CVE-2026-77987), unauthenticated when private mode is off, and a HIGH Markdown script-injection flaw (CVE-2026-77912). Version 3.22.2 fixed a HIGH server-side request forgery through crafted GCP credentials (CVE-2026-96890) and a MEDIUM default-branch deletion bypass (CVE-2026-103620).6 The 3.22.3 download page offers a universal hotpatch package for instances already on 3.22.0 or newer.7
Safe checks before and after patching
Opinion None of these change anything on the appliance. Compare your appliance version with the table first. Then look at the Dependabot app's permissions, and list repositories that use pull_request_target or auto-merge for Dependabot pull requests.
For the Dependabot flaw, SentinelOne lists these signs to look for: unexpected commits from the Dependabot identity that add or modify files under .github/workflows/, and Dependabot commits that change paths outside declared ecosystem manifests.4 Its stopgaps until you patch are to disable pull_request_target workflows in repositories that receive Dependabot pull requests, and to disable auto-merge for Dependabot pull requests and require human review of changes under .github/workflows/.4 Because the first fix was incomplete, these stopgaps still make sense on instances that took only the July build.
For the SSH flaw, I would treat repeated unexplained babeld crashes as a lead worth checking, since failed attempts crashed the service.3 That is my inference from the notes and not a published detection.
I could not read the 3.22.3 section of GitHub's release notes, because the copy of the 3.22 page I loaded stops at 3.22.2.6 The fixed builds and CVE details for 3.22.3 therefore come from the CVE records and the 3.21.8 notes. The CVE records give CVSS scores of 7.7 for CVE-2026-104608 and 8.6 for CVE-2026-15343, which GitHub's notes do not state.35
Do this
- Read your appliance version and match it to the table.1
- Schedule the upgrade to the fixed build for your line, and on 3.22.0 or newer consider the hotpatch package.7
- If you run 3.18 or earlier, ask GitHub Support whether you are exposed and plan a move to a fixed line.3
- Take the November build even if you applied the July Dependabot fix.2
- Until you patch, disable
pull_request_targetworkflows and Dependabot auto-merge where Dependabot pull requests arrive.4 - Check the Dependabot app's
workflows: writepermission, and remove it where Dependabot does not need to update workflow files. Removing it stops Dependabot updating workflow actions. - Search repository history for Dependabot commits that touch
.github/workflows/or paths outside manifests.4 - Treat the Actions secrets of any repository with an unexplained workflow change as exposed, and rotate them.
- After the upgrade, confirm the appliance reports the fixed build and re-run the history search.
Revisit when GitHub publishes the 3.22.3 notes in full, or when GitHub or CISA reports exploitation of either CVE.
FAQ
According to the VulDB entry quoting GitHub, the fixed builds are 3.19.14, 3.20.10, 3.21.8 and 3.22.3. Canada's advisory lists the same four lines as affected below those builds.
Not necessarily. According to GitHub's 3.21.8 release notes, the initial fix was incomplete and left the flaw exploitable in some cases, so take the November build for your line.
According to Canada's advisory, only Enterprise Server is listed. It names no hosted-service versions, so there is nothing to patch on GitHub.com.
Neither GitHub's release notes nor the CVE records I read report exploitation. According to VulDB, no exploit is available for CVE-2026-104608.
You've reached the end
GitHub Enterprise Server November 2026 Security Fixes: What to Patch First
The full article has comments, related reading and sharing.