GitHub Enterprise 2.12.3 January 16, 2018 Download

Meltdown

This release addresses the Meltdown (CVE-2017-5754) attack. This has been fixed in the 3.16.51-3+deb8u1 release from Debian. Please note that this patch does not address the Spectre (CVE-2017-5753 and CVE-2017-5715) vulnerability. A fix is not available for the Spectre vulnerability yet.

Internally conducted benchmarks indicate the performance impact is limited to a 2-5% increase in CPU usage on most platforms. The impact can vary depending on your usage and platform though. If you see a significant performance difference, don't hesitate to reach out to Enterprise Support.

Note on Hotpatching

The hotpatch contains an upgrade to the kernel and requires a reboot. The Meltdown attack is not fixed until a reboot is performed.

Security Fixes

  • HIGH: Kernel is updated to 3.16.51-3+deb8u1 which implements Kernel Page Table Isolation (KPTI) to address Meltdown.

Bug Fixes

  • ghe-dbconsole, in a cluster environment, did not work on nodes without a database role.
  • The ghe-repl-status command-line utility incorrectly showed TypeError: no implicit conversion of Symbol into Integer when there are repositories or gists with bad replica counts.
  • The ghe-dpages check-replicas command could show an error with widely dispersed geo replicas.

Known Issues

  • We incorrectly redirect to the dashboard if you accessed GitHub Enterprise using an alias while in private mode. This might happen if you set a fully qualified domain name but the subdomain resolves correctly.
  • Images uploaded to issues save with an absolute URL, so they can be broken if the hostname changes.
  • On a freshly set up GitHub Enterprise without any users, an attacker could create the first admin user.
  • Custom firewall rules aren't maintained during an upgrade.
  • svn checkout may timeout while the repository data cache is being built. In most cases, subsequent svn checkout attempts will succeed.
  • Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
  • GitHub Enterprise clustering can not be configured without https.
  • Deleting a search index doesn't delete all associated metadata, which are then incorrectly reused if a new search index is created. This causes search index repair jobs to be reported as finished in the site admin when they were not.
  • GitHub Apps silently fail to be created when the name contains an underscore.
  • Pull request review comments migrated with ghe-migrator are displayed in the wrong order.
  • The pull request review request has users reversed, after migration with ghe-migrator.
  • The comment count in the "Conversation" tab of a pull request migrated with ghe-migrator can be wrong.
  • The create team API endpoint returns a 500 error if LDAP Sync is enabled and the team already exists.
  • Background job logging to /var/log/github/production.log may consume large amounts of disk space. The fast growth of this log file could cause the root disk to fill up.

Thanks!

The GitHub Team

GitHub Enterprise 2.12.2 January 09, 2018 Download

Meltdown & Spectre

Meltdown (CVE-2017-5754) and Spectre (CVE-2017-5753 and CVE-2017-5715) exploit critical vulnerabilities in modern processors. These hardware vulnerabilities allow programs to extract data which is currently processed on the same machine. This also can affect GitHub Enterprise.

The risk to GitHub Enterprise depends on the environment that it runs in. There are two main vectors of attack that need to be considered.

Virtualization platform

Given that GitHub Enterprise runs on various virtualization platforms, it's essential to update the virtualization platform where possible to mitigate any of these issues. The existing patches and fixes almost all focus on solving Meltdown. Meltdown is more straightforward to fix and most providers focus on this first.

Spectre is more complicated to exploit and also more complicated to fix. KVM for example is not vulnerable to Meltdown but is vulnerable, with a proof of concept, to Spectre which was tested by Google in the project originally (see https://googleprojectzero.blogspot.nl/2018/01/reading-privileged-memory-with-side.html). Specifically under "Reading host memory from a KVM guest". This Spectre exploit tested against a specific kernel version, but nothing implies it's impossible to adapt for other kernel versions and or other virtualization platforms.

The following Cloud and virtualization platforms have released announcements and/or fixes.

Inside GitHub Enterprise

The vulnerability can also be exploited if there is code under the control of an attacker running on the same system. GitHub Enterprise has very limited support for custom code in the form of pre-receive hooks. Pre-receive hooks are limited such that administrators are the only ones who can set them up and their runtime execution is limited to 5 seconds. Both these aspects greatly limit the risk of data exposure through pre-receive hooks. As a general rule, administrators should ensure that only known and trusted pre-receive hooks are enabled on their appliance.

GitHub Enterprise is based on Debian Jessie. A fix for Meltdown is not yet available for Debian Jessie, as can be seen in the Debian CVE tracker for Meltdown. The new kernel version will be included in a future release of GitHub Enterprise and can potentially come with a performance regression. Accordingly, we recommend testing that release before putting it into production.

Summary

The primary risk for GitHub Enterprise installations is cross-guest or host <-> guest data leakage on the virtualization platform. This may be mitigated by the support cloud hosting providers, or by the suppliers of virtualization software. There is very limited risk of externally supplied software running within the appliance obtaining data from other processes, mitigated by administrators only enabling pre-receive hooks that are reviewed and trusted.

Security Fixes

  • LOW: Pre-receive hooks could access internal cloud platform metadata. The metadata resources have been restricted to the root user.
  • Packages have been updated to the latest security versions.

Bug Fixes

  • Changing the parent of a nested team can result in the nested team not receiving updated inherited permissions.
  • Changes to legal hold state of a repository did not trigger an audit log event.
  • After changing HTTP proxy configuration in the Management Console, webhooks did not use the settings unless hookshot-resqued was restarted manually.
  • NUMA enabled appliances could crash with a kernel panic. This was a known issue with linux-image-3.16.51-2.
  • GitHub Apps referenced an invalid profile in the notifications and comment views.
  • The pre-receive hook $GITHUB_PULL_REQUEST_AUTHOR_LOGIN environment variable was empty when pull requests were merged via the API.
  • Permission update notifications for GitHub Apps were not sent to organization administrators.

Changes

  • GitHub Enterprise support ticket creation via e-mail (enterprise@github.com) has been disabled. Please contact GitHub Enterprise Support using the Submitting a ticket article.

Known Issues

  • We incorrectly redirect to the dashboard if you accessed GitHub Enterprise using an alias while in private mode. This might happen if you set a fully qualified domain name but the subdomain resolves correctly.
  • Images uploaded to issues save with an absolute URL, so they can be broken if the hostname changes.
  • On a freshly set up GitHub Enterprise without any users, an attacker could create the first admin user.
  • Custom firewall rules aren't maintained during an upgrade.
  • svn checkout may timeout while the repository data cache is being built. In most cases, subsequent svn checkout attempts will succeed.
  • Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
  • GitHub Enterprise clustering can not be configured without https.
  • Deleting a search index doesn't delete all associated metadata, which are then incorrectly reused if a new search index is created. This causes search index repair jobs to be reported as finished in the site admin when they were not.
  • GitHub Apps silently fail to be created when the name contains an underscore.
  • Pull request review comments migrated with ghe-migrator are displayed in the wrong order.
  • The pull request review request has users reversed, after migration with ghe-migrator.
  • The comment count in the "Conversation" tab of a pull request migrated with ghe-migrator can be wrong.
  • The create team API endpoint returns a 500 error if LDAP Sync is enabled and the team already exists.
  • The ghe-repl-status command-line utility incorrectly shows TypeError: no implicit conversion of Symbol into Integer when there are repositories or gists with bad replica counts. (updated 2018-01-10)
  • Reviewers and the "Review requested" status disappear on pull requests migrated with ghe-migrator. (updated 2018-01-12)
  • Background job logging to /var/log/github/production.log may consume large amounts of disk space. The fast growth of this log file could cause the root disk to fill up. (updated 2018-01-16)

Thanks!

The GitHub Team

GitHub Enterprise 2.12.1 December 19, 2017 Download

Security Fixes

  • Packages have been updated to the latest security versions.

Bug Fixes

  • After changing the visibility of a repository, wiki search results have a conflicting number of displayed search results. Administrators can reindex the wiki through the site admin dashboard.
  • Authentication graphs in the management console were incorrectly empty and auth.result.* metrics weren't forwarded to external collectd servers.
  • Orphaned resqued processes accumulated and caused out-of-memory (OOM) issues.
  • CODEOWNERS failed with CRLF line endings.
  • Nested teams could not be migrated with ghe-migrator.
  • Pre-receive hook's enforcement could not be updated with the API.
  • GitHub Apps incorrectly linked to a "Report abuse" reference.
  • Repository changes and creation could timeout when an organization contains many teams and members.
  • When restoring a deleted repository via the site admin dashboard, an error message could be shown even though the restore worked.
  • The compare view could display the incorrect additions or deletions status.
  • Updates to a pull request through the API could incorrectly modify manitainer_can_modify to false when the field was not a part of the request.

Changes

  • /var/log/github/production.log has been updated to include more metadata for resque.performed and resque.queued events.

Known Issues

  • We incorrectly redirect to the dashboard if you accessed GitHub Enterprise using an alias while in private mode. This might happen if you set a fully qualified domain name but the subdomain resolves correctly.
  • Images uploaded to issues save with an absolute URL, so they can be broken if the hostname changes.
  • On a freshly set up GitHub Enterprise without any users, an attacker could create the first admin user.
  • Custom firewall rules aren't maintained during an upgrade.
  • svn checkout may timeout while the repository data cache is being built. In most cases, subsequent svn checkout attempts will succeed.
  • Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
  • GitHub Enterprise clustering can not be configured without https.
  • Deleting a search index doesn't delete all associated metadata, which are then incorrectly reused if a new search index is created. This causes search index repair jobs to be reported as finished in the site admin when they were not.
  • Changing the parent of a nested team can result in the nested team not receiving updated inherited permissions.
  • GitHub Apps silently fail to be created when the name contains an underscore.
  • Changes to legal hold state of a repository does not trigger an audit log event.
  • After changing HTTP proxy configuration in the Management Console, webhooks do not use the settings unless hookshot-resqued is restarted manually via SSH by running: sudo systemctl restart hookshot-resqued. (updated 2017-12-20)
  • Pull request review comments migrated with ghe-migrator are displayed in the wrong order. (updated 2017-12-27)
  • The pull request review request has users reversed, after migration with ghe-migrator. (updated 2017-12-27)
  • The comment count in the "Conversation" tab of a pull request migrated with ghe-migrator can be wrong. (updated 2017-12-27)
  • NUMA enabled appliances can crash with a kernel panic. This is a known issue with linux-image-3.16.51-2 and the workaround is to add the numa=off parameter to the kernel command line in /boot/grub/grub.cfg. Please contact GitHub Enterprise Support if you have questions. (updated 2017-12-28)
  • The create team API endpoint returns a 500 error if LDAP Sync is enabled and the team already exists. (updated 2018-01-09)
  • The ghe-repl-status command-line utility incorrectly shows TypeError: no implicit conversion of Symbol into Integer when there are repositories or gists with bad replica counts. (updated 2018-01-10)
  • Reviewers and the "Review requested" status disappear on pull requests migrated with ghe-migrator. (updated 2018-01-12)
  • Background job logging to /var/log/github/production.log may consume large amounts of disk space. The fast growth of this log file could cause the root disk to fill up. (updated 2018-01-16)

Thanks!

The GitHub Team

GitHub Enterprise 2.12.0 December 12, 2017 Download

Features

Security Fixes

  • Packages have been updated to the latest security versions.
  • Users could accept an organization invitation incorrectly sent to an unverified email address.

Bug Fixes

  • The ghe-es-search-repair script refused to run in a single instance environment.
  • The OpenVPN log was not created if it did not already exist.
  • The audit log rotation schedule was unintentionally set to weekly instead of daily.
  • Archived repositories were not restored correctly in cluster environments.
  • The Management Console was not correctly reloaded after a hotpatch is applied.
  • Chrome attempted to automatically fill the SMTP and SNMP password fields with the password for the management console.
  • Migration archives excluded users who created a protected branch and were subsequently removed from the organization.
  • Git repair jobs repeatedly tried to access unavailable objects, causing high CPU usage.
  • Searching for users or email addresses in the site admin tools did not return results for incomplete and fuzzy matches.
  • The merge button got stuck in the "Checking for ability to merge" state.
  • ghe-cluster-status returned invalid JSON when nodes were unavailable.
  • Projects were incorrectly editable when the repositories was locked for migration.
  • Users were unable to add collaborators to a personal project when the actor followed a large number of users.
  • Pages failed to publish when the publishing source was configured as a path to a submodule.
  • The followers and following count incorrectly considered suspended accounts.
  • The squash and merge option was not resizing the text area to the height of the commit message.

Changes

  • To restrict actions on raw content, including preventing popups, preventing the execution of plugins and scripts, and enforcing a same-origin policy, our content security policy (CSP) header for raw URLs now includes the sandbox attribute.
  • babeld.log includes an api_time key for internal timings on verifying authentication.
  • codeload.log include a api_ms attribute for internal timings.
  • gitauth.log has been updated to add the commit-refs, verification-tokens, pre-2fa, and git-lfs-authenticate actions and include the request_ip and path_info metadata.
  • The GitHubMetadata GraphQL API object has been added.
  • The meta RESTAPI endpoint has been updated to include installed_version for the GitHub Enterprise version.
  • Webhooks payloads have been updated to include two headers, X-GitHub-Enterprise-Version and X-GitHub-Enterprise-Host.
  • The git signing API is no longer behind a preview header.
  • Outside collaborators will be counted in the team member count view in the site admin dashboard.
  • The number of cards awaiting triage has been added to the project section of the site admin dashboard.
  • ghe-nwo command-line utility can identify the repository owner from a repository id.
  • ghe-version command-line utility returns the current GitHub Enterprise version number.
  • Topic descriptions will render GitHub Flavored Markdown.
  • Project notes character limit has been increased to 1024 from from 250.
  • Project, webhook APIs created_at and updated_at fields have been updated to use a consistent and standard YYYY-MM-DDTHH:MM:SSZ ISO 8601 format.
  • GPG verification for commits are parallelized for faster performance.

Backups and Disaster Recovery

GitHub Enterprise 2.12 requires at least GitHub Enterprise Backup Utilities 2.11.2 for Backups and Disaster Recovery.

Upcoming deprecation of Internet Explorer 11 support

Support for Internet Explorer 11 will be deprecated on September 13, 2018. There will be no changes in site functionality, but a warning banner will be displayed to Internet Explorer 11 users.

Upcoming deprecation of VMware ESX 5.5 support

Support for VMware ESX 5.5 will be deprecated on September 19, 2018.

Upcoming deprecation of GitHub Enterprise 2.9

GitHub Enterprise 2.9 will be deprecated as of March 1, 2018. That means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, upgrade to the newest version of GitHub Enterprise as soon as possible.

Known Issues

  • We incorrectly redirect to the dashboard if you accessed GitHub Enterprise using an alias while in private mode. This might happen if you set a fully qualified domain name but the subdomain resolves correctly.
  • Images uploaded to issues save with an absolute URL, so they can be broken if the hostname changes.
  • On a freshly set up GitHub Enterprise without any users, an attacker could create the first admin user.
  • Custom firewall rules aren't maintained during an upgrade.
  • svn checkout may timeout while the repository data cache is being built. In most cases, subsequent svn checkout attempts will succeed.
  • Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.
  • GitHub Enterprise clustering can not be configured without https.
  • Deleting a search index doesn't delete all associated metadata, which are then incorrectly reused if a new search index is created. This causes search index repair jobs to be reported as finished in the site admin when they were not.
  • Changing the parent of a nested team can result in the nested team not receiving updated inherited permissions.
  • After changing the visibility of a repository, wiki search results have a conflicting number of displayed search results. Administrators can reindex the wiki through the site admin dashboard. (updated 2017-12-19)
  • GitHub Apps silently fail to be created when the name contains an underscore.
  • Authentication graph is incorrectly empty because auth.result.* metrics are missing and not forwarded to external collectd servers.
  • Changes to legal hold state of a repository does not trigger an audit log event.
  • After changing HTTP proxy configuration in the Management Console, webhooks do not use the settings unless hookshot-resqued is restarted manually via SSH by running: sudo systemctl restart hookshot-resqued. (updated 2017-12-19)
  • Pull request review comments migrated with ghe-migrator are displayed in the wrong order. (updated 2017-12-27)
  • The pull request review request has users reversed, after migration with ghe-migrator. (updated 2017-12-27)
  • The comment count in the "Conversation" tab of a pull request migrated with ghe-migrator can be wrong. (updated 2017-12-27)
  • The create team API endpoint returns a 500 error if LDAP Sync is enabled and the team already exists. (updated 2018-01-09)
  • The ghe-repl-status command-line utility incorrectly shows TypeError: no implicit conversion of Symbol into Integer when there are repositories or gists with bad replica counts. (updated 2018-01-10)
  • Reviewers and the "Review requested" status disappear on pull requests migrated with ghe-migrator. (updated 2018-01-12)

Thanks!

The GitHub Team