Improper access control in GitHub Enterprise Server leading to unauthorized changes to maintainer permissions on pull requests
Summary
An improper access control vulnerability was identified in the GitHub Enterprise Server GraphQL API that allowed authenticated users of the instance to modify the maintainer collaboration permission of a pull request without proper authorization. By exploiting this vulnerability, an attacker would be able to gain access to head branches of pull requests opened on repositories of which they are a maintainer. Forking is disabled by default for organization owned private repositories and would prevent this vulnerability. Additionally, branch protections such as required pull request reviews or status checks would prevent unauthorized commits from being merged without further review or validation. This vulnerability affected all versions of GitHub Enterprise Server since 2.12.22 and was fixed in versions 2.20.24, 2.21.15, 2.22.7 and 3.0.1. This vulnerability was reported via the GitHub Bug Bounty program.
Affected Version(s)
GitHub Enterprise Server < 2.20.24
GitHub Enterprise Server < 2.21.15
GitHub Enterprise Server < 2.22.7
CVSS V3.1
Timeline
Vulnerability published.
Vulnerability Reserved.