Security

Patches

Patch time: Critical GitLab vulnerability exposes 2FA-less users to account takeovers

The bug with a perfect 10 severity score has been ripe for exploitation since May


GitLab admins should apply the latest batch of security patches pronto given the new critical account-bypass vulnerability just disclosed.

Tracked as CVE-2023-7028, the maximum-severity bug exploits a change introduced in version 16.1.0 back in May 2023 that allowed users to issue password resets through a secondary email address.

Attackers targeting vulnerable self-managed GitLab instances could use a specially crafted HTTP request to send a password reset email to an attacker-controlled, unverified email address.

An attacker can complete the takeover without any user intervention, and those who haven't enabled two factor authentication (2FA) are prime targets for the opportunistic crime.

Users with 2FA enabled aren't vulnerable to account takeover, unless the attacker also had control of the 2FA authenticator, but a password reset could still be achieved.

GitLab doesn't support SMS-based 2FA – the most commonly hijacked implementation – only supporting app-based 2FA or that issued via a WebAuthn device, which are much more secure.

There are, however, a fair few versions of GitLab's Community and Enterprise editions that are affected and will require patching as soon as possible:

All authentication mechanisms are affected here, GitLab said, even some of those that use single sign-on (SSO).

"Users without SSO enforcement are vulnerable," GitLab said in its advisory. "If your configuration allows a username and password to be used in addition to SSO options, then you are impacted. Disabling all password authentication options via https://docs.gitlab.com/ee/administration/settings/sign_in_restrictions.html#password-authentication-enabled will mitigate the vulnerability for self-managed customers that have an external identity provider configured, as this will disable the ability to perform password reset."

Thankfully, at the time of disclosure, there was no evidence to suggest the bug had been successfully exploited, but as ever, when a vulnerability is made public, with an exploit as simple as this, wider exploitation attempts are likely and it becomes a race against the attackers to patch the flaw.

Since admins will need time to apply patches, without skipping upgrade stops to prevent instability issues from manifesting, a speedier stop-gap mitigation would be to mandate 2FA across all accounts as this will, in the vast majority of cases, prevent account takeover attempts.

Ideally, once that's enabled it will stay enabled for good, especially for key accounts like those with admin privileges.

We only need to look back to last week to learn the value of enabling 2FA – even the biggest names in security fumble the basics from time to time.

A takeover of a GitLab account could mean serious business for attackers, given the amount of intellectual property and source code belonging to organizations held in the DevOps platform.

GitLab said customers can check their logs for signs of exploitation, highlighting two that will reveal any nefarious activity:

Since the vulnerability was brought to GitLab's attention via its bug bounty program, the company has added new tests to validate the password reset logic to prevent similar vulnerabilities from occurring in the future.

It's also started a root cause analysis process that it expects to generate additional follow-up actions to implement, as well as updating its documentation to improve awareness of the issue for engineers.

A second critical vulnerability was also addressed in the same round of patches. CVE-2023-5356 has been assigned a 9.6 CVSS score and allows attackers to execute slash commands in Slack or Mattermost.

While not as serious as an account takeover, a successful exploit could afford attackers the chance to add themselves into channels, potentially exposing an organization's secret work to unauthorized parties.

Organizations with custom apps and integrations that use slash commands could also leak sensitive data, depending on their function, for example.

Other, less-severe fixes also include:

Send us news
21 Comments

Admins better Spring into action over latest critical open source vuln

Patch up: The Spring framework dominates the Java ecosystem

macOS HM Surf vuln might already be under exploit by major malware family

Like keeping your camera and microphone private? Patch up

Amazon adds MFA to its enterprise email service ... eight years after launch

No rush, guys

US and UK govts warn: Russia scanning for your unpatched vulnerabilities

Also, phishing's easier over the phone, and your F5 cookies might be unencrypted, and more

Tech firms to pay millions in SEC penalties for misleading SolarWinds disclosures

Unisys, Avaya, Check Point, and Mimecast settled with the agency without admitting or denying wrongdoing

Jetpack fixes 8-year-old flaw affecting millions of WordPress sites

Also, new EU cyber reporting rules are live, exploiters hit the gas pedal, free PDNS for UK schools, and more

Thousands of Fortinet instances vulnerable to actively exploited flaw

No excuses for not patching this nine-month-old issue

Here's a NIS2 compliance checklist since no one cares about deadlines anymore

Only two EU members have completed the transposition into domestic law

Senator accuses sloppy domain registrars of aiding Russian disinfo campaigns

Also, Change Healthcare sets a record, cybercrime cop suspect indicted, a new Mallox decryptor, and more

Samsung phone users under attack, Google warns

Don't ignore this nasty zero day exploit says TAG

Penn State pays DoJ $1.25M to settle cybersecurity compliance case

Fight On, State? Not this time

Delta officially launches lawyers at $500M CrowdStrike problem

Legal action comes months after alleging negligence by Falcon vendor