CVE-2025-0549

6.8 MEDIUM

📋 TL;DR

This vulnerability allows attackers to bypass Device OAuth flow protections in GitLab, enabling unauthorized authorization form submissions with minimal user interaction. It affects GitLab Community Edition (CE) and Enterprise Edition (EE) installations running vulnerable versions. Attackers could potentially gain unauthorized access to GitLab accounts or resources.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 17.3 to 17.9.7, 17.10 to 17.10.5, 17.11 to 17.11.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments using Device OAuth flow. Requires GitLab instance to be accessible to attackers.

📦 What is this software?

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could gain unauthorized access to GitLab accounts, potentially compromising source code, CI/CD pipelines, and sensitive project data.

🟠

Likely Case

Attackers could bypass authentication controls to access GitLab resources they shouldn't have permission to access, potentially leading to data exposure or unauthorized actions.

🟢

If Mitigated

With proper access controls and monitoring, impact would be limited to attempted unauthorized access that could be detected and blocked.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires some user interaction but minimal. Attackers need to trick users into performing specific actions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 17.9.8, 17.10.6, or 17.11.2

Vendor Advisory: https://gitlab.com/gitlab-org/gitlab/-/issues/513996

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 17.9.8, 17.10.6, or 17.11.2 depending on your current version. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable Device OAuth Flow

all

Temporarily disable the vulnerable Device OAuth flow feature

Edit GitLab configuration to disable Device OAuth flow

Restrict Access

all

Limit GitLab access to trusted networks only

Configure firewall rules to restrict GitLab access

🧯 If You Can't Patch

  • Implement strict network access controls to limit GitLab exposure
  • Enable enhanced logging and monitoring for authentication events

🔍 How to Verify

Check if Vulnerable:

Check GitLab version via admin interface or command line. If version falls within affected ranges, system is vulnerable.

Check Version:

sudo gitlab-rake gitlab:env:info | grep Version

Verify Fix Applied:

After patching, verify GitLab version is 17.9.8, 17.10.6, or 17.11.2 or higher.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Device OAuth authentication attempts
  • Multiple failed authentication events from same source
  • Successful authentications from unexpected locations

Network Indicators:

  • Unusual patterns in OAuth flow requests
  • Multiple authentication requests in short timeframes

SIEM Query:

source="gitlab" AND (event="authentication" OR event="oauth") AND status="success" AND user_agent CONTAINS suspicious_pattern

🔗 References

📤 Share & Export