Skip to content

Chrome v100 with certain user-agent modifications gets stuck at "Checking your browser before accessing gitlab.com"

Summary

On Fedora Workstation systems, we install an extension to Chrome by default that changes its user-agent from Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 to Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 (in other words, it just adds Fedora; between X11; and Linux.

Prior to the release of Chrome v100, this worked just fine to log in, but on Chrome v100+, attempts to log in become stuck at "Checking your browser before accessing gitlab.com". I've reproduced the issue with Chrome on another system using the User Agent Switcher extension to set the UA string to the Fedora one. I've also verified that the Fedora string is accepted fine if the 100.0.4896.75 is replaced with 99.0.4896.75.

Steps to reproduce

  1. Install Google Chrome v100
  2. Install the User Agent Switcher extension
  3. In the extension settings, add an entry called "Fedora" with the UA string Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36, group "Chrome". Use "Replace", not append and use "CR" for the indicator flag.
  4. Use the UA Switcher extension to set the browser's User Agent string to the "Fedora" entry you just created.
  5. Attempt to log in to Gitlab.com

Example Project

N/A, the bug occurs at login.

What is the current bug behavior?

The browser is stuck on an endlessly refreshing "Checking your browser before accessing gitlab.com" page.

What is the expected correct behavior?

The browser should complete the login successfully.

Relevant logs and/or screenshots

N/A

Output of checks

This bug happens on GitLab.com

Results of GitLab environment info

Expand for output related to GitLab environment info

(For installations with omnibus-gitlab package run and paste the output of:
`sudo gitlab-rake gitlab:env:info`)

(For installations from source run and paste the output of:
`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)

Results of GitLab application Check

Expand for output related to the GitLab application check

(For installations with omnibus-gitlab package run and paste the output of: sudo gitlab-rake gitlab:check SANITIZE=true)

(For installations from source run and paste the output of: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true)

(we will only investigate if the tests are passing)

Possible fixes

My assumption is that this is a bug in your User Agent parsing. I don't know where that is in the code.

Edited by 🤖 GitLab Bot 🤖