CVE-2026-103620: Missing authorization in GitHub Enterprise Server allowed repository writers to replace default branches via GraphQL

Published Oct 6, 2026
·
Updated

A missing authorization vulnerability was identified in GitHub Enterprise Server that allowed a repository collaborator with write access to delete the current default branch through the GraphQL API and cause an attacker-controlled branch to become the new default. In repositories that required pull-request review but did not restrict branch deletion, this bypassed the review requirement and caused fresh clones and default-branch API requests to use attacker-controlled content. This vulnerability affected supported GitHub Enterprise Server releases in the 3.18, 3.19, 3.20, 3.21, and 3.22 series and was fixed in versions 3.18.16, 3.19.13, 3.20.9, 3.21.7, and 3.22.2. This vulnerability was reported via the GitHub Bug Bounty program.

Affected Software

6 affected components
GitHub Enterprise Server<3.18.16, <3.19.13, <3.20.9, <3.21.7, <3.22.2
GitHub Enterprise Server>=3.18.0<3.18.16
GitHub Enterprise Server>=3.19.0<3.19.13
GitHub Enterprise Server>=3.20.0<3.20.9
GitHub Enterprise Server>=3.21.0<3.21.7
GitHub Enterprise Server>=3.22.0<3.22.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade GitHub Enterprise Server to a version that resolves this vulnerability.

    Fixed in 3.18.16
  2. Upgrade

    Upgrade GitHub Enterprise Server to a version that resolves this vulnerability.

    Fixed in 3.19.13
  3. Upgrade

    Upgrade GitHub Enterprise Server to a version that resolves this vulnerability.

    Fixed in 3.20.9
  4. Upgrade

    Upgrade GitHub Enterprise Server to a version that resolves this vulnerability.

    Fixed in 3.21.7
  5. Upgrade

    Upgrade GitHub Enterprise Server to a version that resolves this vulnerability.

    Fixed in 3.22.2

Event History

Oct 6, 2026
CVE Published
via MITRE·06:56 PM
Data Sourced
via MITRE·06:56 PM
DescriptionWeakness
Data Sourced
via NVD·07:17 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which GitHub Enterprise Server versions need to be updated?

Supported releases in the 3.18 through 3.22 series were affected. The fixes are 3.18.16, 3.19.13, 3.20.9, 3.21.7, and 3.22.2.

2

What level of access would an attacker need?

The attacker would need collaborator write access to the target repository. Exploitation used the GraphQL API and did not require user interaction.

3

Which repositories face the most direct review-bypass risk?

Repositories that require pull-request review but do not restrict branch deletion are specifically affected by the review-bypass scenario. In those repositories, a writer could delete the default branch and cause an attacker-controlled branch to become the new default.

4

What can be done before an upgrade is available?

Restrict branch deletion for repositories where pull-request review is relied upon. This addresses the configuration condition identified for the review-bypass scenario.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203