Enterprise Server 3.6 release notes
Enterprise Server 3.6.9
Download GitHub Enterprise Server 3.6.9February 16, 2023
📣 This is not the latest release of Enterprise Server. Please use the latest release for the latest security, performance, and bug fixes.
HIGH: Updated Git to include fixes from 2.39.2, which address CVE-2023-22490 and CVE-2023-23946.
Packages have been updated to the latest security versions.
Security fixes
When using a VPC endpoint URL as an AWS S3 URL for GitHub Packages, publication and installation of packages failed.
On an instance with a GitHub Advanced Security license, if code scanning had been used while running GitHub Enterprise Server 3.4 or earlier, a subsequent upgrade from 3.5 to 3.6 or 3.7 could fail when attempting to add a unique index to a database table.
Bug fixes
On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
Custom firewall rules are removed during the upgrade process.
Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
The GitHub Packages npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
Actions services need to be restarted after restoring an instance from a backup taken on a different host.
In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality.
In some cases, users cannot convert existing issues to discussions.
Custom patterns for secret scanning have
.*as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the.*delimiter.Following an upgrade to GitHub Enterprise Server 3.6 or later, existing inconsistencies in a repository such as broken refs or missing objects, may now be reported as errors like
invalid sha1 pointer 0000000000000000000000000000000000000000,Zero-length loose reference file, orZero-length loose object file. Previously, these indicators of repository corruption may have been silently ignored. GitHub Enterprise Server now uses an updated Git version with more diligent error reporting enabled. For more information, see this upstream commit in the Git project.If you suspect a problem like this exists in one of your repositories, contact GitHub Enterprise Support for assistance.
Instances experiencing a high sustained number of concurrent Git requests may experience performance issues. If you suspect that this issue is affecting your instance, contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-12-07]
In some cases, while converting an issue to a discussion, the conversion process may hang. In this situation, an enterprise owner can try the following troubleshooting steps to resolve the issue.
- At the end of the stuck discussion's URL, note the discussion's number.
- In the web UI, browse to the repository where the conversion is stuck.
- In the top-right corner of the web UI, click .
- Under "Collaboration", click NUMBER discussions.
- In the list, click the number from step 1.
- Under "Conversion", click Enqueue conversion job.
- Wait a few minutes, then check the issue's status.
If the conversion still hasn't completed, contact GitHub Enterprise Support for assistance.
Known issues
Enterprise Server 3.6.8
Download GitHub Enterprise Server 3.6.8February 02, 2023
📣 This is not the latest patch release of this release series, and this is not the latest release of Enterprise Server. Please use the latest release for the latest security, performance, and bug fixes.
After a site administrator adjusted the cutoff date for allowing SSH connections with RSA keys using
ghe-config app.gitauth.rsa-sha1, the instance would still disallow connections with RSA keys if the connection attempt was signed by the SHA-1 hash function.During the validation phase of a configuration run, a
No such object errormay have occurred for the Notebook and Viewscreen services.When enabling automatic TLS certificate management with Let's Encrypt, the process could fail with the error
The certificate is not signed by a trusted certificate authority (CA) or the certificate chain in missing intermediate CA signing certificates.In some cases, users were unable to convert existing issues to discussions. If an issue is stuck while being converted to a discussion, enterprise owners can review the "Known issues" section below for more information.
Bug fixes
On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
Custom firewall rules are removed during the upgrade process.
Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
The GitHub Packages npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
Actions services need to be restarted after restoring an instance from a backup taken on a different host.
In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality.
In some cases, users cannot convert existing issues to discussions.
Custom patterns for secret scanning have
.*as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the.*delimiter.Following an upgrade to GitHub Enterprise Server 3.6 or later, existing inconsistencies in a repository such as broken refs or missing objects, may now be reported as errors like
invalid sha1 pointer 0000000000000000000000000000000000000000,Zero-length loose reference file, orZero-length loose object file. Previously, these indicators of repository corruption may have been silently ignored. GitHub Enterprise Server now uses an updated Git version with more diligent error reporting enabled. For more information, see this upstream commit in the Git project.If you suspect a problem like this exists in one of your repositories, contact GitHub Enterprise Support for assistance.
Instances experiencing a high sustained number of concurrent Git requests may experience performance issues. If you suspect that this issue is affecting your instance, contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-12-07]
In some cases, while converting an issue to a discussion, the conversion process may hang. In this situation, an enterprise owner can try the following troubleshooting steps to resolve the issue.
- At the end of the stuck discussion's URL, note the discussion's number.
- In the web UI, browse to the repository where the conversion is stuck.
- In the top-right corner of the web UI, click .
- Under "Collaboration", click NUMBER discussions.
- In the list, click the number from step 1.
- Under "Conversion", click Enqueue conversion job.
- Wait a few minutes, then check the issue's status.
If the conversion still hasn't completed, contact GitHub Enterprise Support for assistance.
Known issues
Enterprise Server 3.6.7
Download GitHub Enterprise Server 3.6.7January 17, 2023
📣 This is not the latest patch release of this release series, and this is not the latest release of Enterprise Server. Please use the latest release for the latest security, performance, and bug fixes.
-
HIGH: Updated Git to include fixes from 2.39.1, which address CVE-2022-41903 and CVE-2022-23521.
Security fixes
On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
Custom firewall rules are removed during the upgrade process.
Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
The GitHub Packages npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
Actions services need to be restarted after restoring an instance from a backup taken on a different host.
In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality.
In some cases, users cannot convert existing issues to discussions.
Custom patterns for secret scanning have
.*as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the.*delimiter.Following an upgrade to GitHub Enterprise Server 3.6 or later, existing inconsistencies in a repository such as broken refs or missing objects, may now be reported as errors like
invalid sha1 pointer 0000000000000000000000000000000000000000,Zero-length loose reference file, orZero-length loose object file. Previously, these indicators of repository corruption may have been silently ignored. GitHub Enterprise Server now uses an updated Git version with more diligent error reporting enabled. For more information, see this upstream commit in the Git project.If you suspect a problem like this exists in one of your repositories, contact GitHub Enterprise Support for assistance.
Instances experiencing a high sustained number of concurrent Git requests may experience performance issues. If you suspect that this issue is affecting your instance, contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-12-07]
Known issues
Enterprise Server 3.6.6
Download GitHub Enterprise Server 3.6.6January 12, 2023
📣 This is not the latest patch release of this release series, and this is not the latest release of Enterprise Server. Please use the latest release for the latest security, performance, and bug fixes.
The metrics
Active workersandQueued requestsforgithub(renamed from metadata),gitauth, andunicorncontainer services werent correctly read from collectd and displayed in the Management Console.Dependabot Alert emails would be sent to disabled repositories.
Data migrations could fail when the underlying database table contained only a single record.
When viewing a pull requests diff for a large file with many lines between changes, it was not possible to expand the view to display all of the changes.
The
git-janitorcommand was unable to fix outdatedmulti-pack-index.lockfiles, resulting in the repository failing maintenance.The
GITHUB_REF_PROTECTEDenvironment variable andgithub.ref_protectedcontexts were incorrectly set asfalsewhen branch protections did exist.Dropped
launch.*metrics that can't be parsed by statsd, as the resulting statsd errors caused collectd logs to grow rapidly in size.When updating custom patterns, the pattern state was immediately set to published.
Bug fixes
Improved the reliability of the real time updates service (Alive) to make it more resilient against network issues with Redis.
The
ghe-support-bundleandghe-cluster-support-bundlecommands were updated to include the-p/--periodflag to generate a time constrained support bundle. The duration can be specified in days and hours, for example:-p 2 hours,-p 1 day,-p 2 days 5 hours.When upgrading an instance with a new root partition, running the
ghe-upgradecommand with the-t/--targetoption ensures the preflight check for the minimum disk storage size is executed against the target partition.The performance of configuration runs started with
ghe-config-applyhas been improved.When exporting account data, backing up a repository, or performing a migration, the link to a repository archive now expires after 1 hour. Previously the archive link expired after 5 minutes.
Changes
On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
Custom firewall rules are removed during the upgrade process.
Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
The GitHub Packages npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
Actions services need to be restarted after restoring an instance from a backup taken on a different host.
In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality.
In some cases, users cannot convert existing issues to discussions.
Custom patterns for secret scanning have
.*as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the.*delimiter.Following an upgrade to GitHub Enterprise Server 3.6 or later, existing inconsistencies in a repository such as broken refs or missing objects, may now be reported as errors like
invalid sha1 pointer 0000000000000000000000000000000000000000,Zero-length loose reference file, orZero-length loose object file. Previously, these indicators of repository corruption may have been silently ignored. GitHub Enterprise Server now uses an updated Git version with more diligent error reporting enabled. For more information, see this upstream commit in the Git project.If you suspect a problem like this exists in one of your repositories, contact GitHub Enterprise Support for assistance.
Instances experiencing a high sustained number of concurrent Git requests may experience performance issues. If you suspect that this issue is affecting your instance, contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-12-07]
Known issues
Enterprise Server 3.6.5
Download GitHub Enterprise Server 3.6.5December 13, 2022
📣 This is not the latest patch release of this release series, and this is not the latest release of Enterprise Server. Please use the latest release for the latest security, performance, and bug fixes.
HIGH: A path traversal vulnerability was identified in GitHub Enterprise Server that allowed remote code execution when building a GitHub Pages site. To exploit this vulnerability, an attacker would need permission to create and build a GitHub Pages site on the instance. This vulnerability was reported via the GitHub Bug Bounty Program and has been assigned CVE-2022-46256.
HIGH: An incorrect authorization vulnerability allowed a scoped user-to-server token to escalate to full admin access for a repository. An attacker would require an account with admin access to install a malicious GitHub App. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.7.0. This vulnerability was reported via the GitHub Bug Bounty program and has been assigned CVE-2022-23741.
Security fixes
A race condition blocked upgrades to GitHub Enterprise Server 3.6 or later until a site administrator retried the upgrade.
Site administrators were not able to manage security products settings for repositories they had unlocked.
When a site administrator ran the
ghe-repl-statuscommand on a cache replica via the administrative shell (SSH), the command incorrectly reported overall Git and Alambic cluster replication status information as if it pertained only to cache replication.When a site administrator ran the
ghe-repl-sync-ca-certificatescommand from an instances primary node via the administrative shell (SSH), the command only replicated CA certificates from the instances primary node to a single replica node. The command did not replicate the certificates to all available replica nodes.When using repository caching with an instance in a high availability configuration, if a Git client used SSH instead of HTTPS for a repositorys remote URL, Git LFS would fetch objects from the instances primary node instead of the appropriate cache replica node.
Installation of GitHub Enterprise Server on the VMware ESXi hypervisor failed due to the generation of an OVA file with an invalid capacity value.
When users performed an operation using the API, GitHub Enterprise Server enforced repository size quotas even when disabled globally.
If a user uploaded more than one file while creating a new Gist, the user could not delete any files uploaded after the first.
In some cases, searches via the API returned a
500error.In some cases, when browsing repositories in the web interface, an erroneous banner indicated that a repository didnt contain a specific undefined path on the current branch.
The
memberwebhook event did not include thefromandtofield values for thepermissionfield as part of thechangesfield.Adding a collaborator to a user-owned fork of a private, organization-owned repository with triage, maintain, or custom access resulted in a
500error.In some cases, the page for setting up code scanning would erroneously report that GitHub Actions was not configured for the instance.
After a user's account was deleted from the instance, image attachments that the user uploaded in comments were no longer visible in the web interface.
A debug-level message appeared in a system log, which could consume space rapidly on the instance's root storage volume.
Bug fixes
To avoid failing domain verification due to the 63-character limit enforced by DNS providers for DNS records, the GitHub-generated
TXTrecord to verify domain ownership is now limited to 63 characters.After an enterprise owner enables Dependabot alerts, GitHub Enterprise Server enqueues the synchronization of advisory data to ensure hourly updates from GitHub.com.
A user's list of recently accessed repositories no longer includes deleted repositories.
Changes
On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
Custom firewall rules are removed during the upgrade process.
Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
The GitHub Packages npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
Actions services need to be restarted after restoring an instance from a backup taken on a different host.
In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality.
In some cases, users cannot convert existing issues to discussions.
Custom patterns for secret scanning have
.*as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the.*delimiter.Following an upgrade to GitHub Enterprise Server 3.6 or later, existing inconsistencies in a repository such as broken refs or missing objects, may now be reported as errors like
invalid sha1 pointer 0000000000000000000000000000000000000000,Zero-length loose reference file, orZero-length loose object file. Previously, these indicators of repository corruption may have been silently ignored. GitHub Enterprise Server now uses an updated Git version with more diligent error reporting enabled. For more information, see this upstream commit in the Git project.If you suspect a problem like this exists in one of your repositories, contact GitHub Enterprise Support for assistance.
Instances experiencing a high sustained number of concurrent Git requests may experience performance issues. If you suspect that this issue is affecting your instance, contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-12-07]
Known issues
Enterprise Server 3.6.4
Download GitHub Enterprise Server 3.6.4November 22, 2022
📣 This is not the latest patch release of this release series, and this is not the latest release of Enterprise Server. Please use the latest release for the latest security, performance, and bug fixes.
MEDIUM: Updated CommonMarker to address a scenario where parallel requests to the Markdown REST API could result in unbounded resource exhaustion. This vulnerability has been assigned CVE-2022-39209.
MEDIUM: Scoped user-to-server tokens from GitHub Apps could bypass authorization checks in GraphQL API requests when accessing non-repository resources. This vulnerability was reported via the GitHub Bug Bounty Program and has been assigned CVE-2022-23739.
MEDIUM: Pull request preview links did not properly sanitize URLs, allowing a malicious user to embed dangerous links in the instances web UI. This vulnerability was reported via the GitHub Bug Bounty program.
MEDIUM: An incorrect authorization vulnerability was identified in GitHub Enterprise Server that allowed a repository-scoped token with read/write access to modify GitHub Actions workflow files without a workflow scope. The "Repository contents" should enforce workflow scope. This vulnerability was reported via the GitHub Bug Bounty program and has been assigned CVE-2022-46258.
Security fixes
If a GitHub Actions dependency uses a pinned SHA version, Dependabot will no longer mark the dependency as vulnerable.
Setting the maintenance mode with an IP Exception List would not persist across upgrades.
GitHub Pages builds could time out on instances in AWS that are configured for high availability.
Status details for the replication of Git LFS objects to repository cache replica nodes were not visible in the
ghe-repl-statusoutput on those nodes.After configuration of Dependabot and alert digest emails, the instance would send digest emails to suspended users.
The audit log timestamp for Dependabot alert events returned the creation date of the alert instead of the timestamp when a user took action on the alert.
When using the CodeQL action, the runs annotations would include a spurious
HttpError: Upload not founderror.When accessing an instances JavaScript resources from behind a proxy, the browser displayed Cross-Origin Resource Sharing (CORS) errors.
If a user named a status check with leading or trailing spaces, the instance created a duplicate check if a