CVE-2026-92528 in GitLabinfo

Summary

by MITRE • 10/13/2026

GitLab has remediated an issue in GitLab EE affecting all versions from 16.11 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2 that, under certain conditions, could have allowed an authenticated user to approve a merge request despite having contributed commits to it, due to improper identity resolution.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/18/2026

GitLab Enterprise Edition versions ranging from 16.11 up to but not including 19.2.8, as well as the 19.3 series prior to version 19.3.5 and the 19.4 series prior to version 19.4.2, contained a significant security flaw related to merge request approval workflows. This vulnerability stems from an improper identity resolution mechanism within the application's core logic for handling code review approvals. The issue specifically impacts scenarios where a user who has contributed commits to a pull or merge request attempts to approve that same change. Under normal operational parameters and secure configuration, GitLab enforces strict separation of duties by preventing contributors from self-approving their own work to maintain code integrity and prevent unauthorized merges. However, due to the flawed identity resolution logic, this safeguard was bypassed under specific conditions, allowing an authenticated user to successfully approve a merge request they authored or contributed to, effectively circumventing standard review controls.

The technical root cause of this vulnerability lies in how GitLab resolves user identities when evaluating approval permissions. The system failed to correctly distinguish between the identity of the approver and the identity associated with the commits within the target branch during the validation phase. This logical error meant that the access control checks did not properly enforce the restriction against self-approval for contributors. By misidentifying or failing to cross-reference the contributor's account with the approval action, the application granted permission where it should have been denied. This represents a classic logic flaw in authorization controls rather than an input validation issue, highlighting the complexity of maintaining state and identity consistency across distributed version control operations within web-based platforms.

From an operational impact perspective, this vulnerability undermines the fundamental principles of code review governance. In many development workflows, particularly those adhering to strict compliance standards or requiring peer review for security-sensitive changes, preventing self-approval is a critical control measure. An attacker with authenticated access could exploit this flaw to merge unreviewed or inadequately reviewed code into protected branches such as main or master. This action could introduce malicious code, logic bombs, or vulnerable dependencies directly into the production lineage without triggering additional review gates. The severity of the impact depends heavily on the organization's branch protection rules and whether other automated checks are in place to catch issues post-merge, but it fundamentally breaks the trust model of collaborative development by allowing a single individual to unilaterally finalize changes they initiated.

This vulnerability aligns with CWE-269, which describes Improper Privilege Management, specifically regarding the failure to enforce separation of duties and proper authorization checks for user roles. It also relates to CWE-862, Missing Authorization, as the system failed to verify that the actor had the requisite permission to perform the action given their relationship to the resource being modified. In terms of threat modeling, this behavior can be mapped to MITRE ATT&CK technique T1078, Valid Accounts, where an attacker leverages legitimate credentials to bypass security controls and gain unauthorized access or modify system state. The exploitation does not require complex external payloads but relies on social engineering or direct account compromise followed by the specific action of self-approving a merge request.

To mitigate this risk, organizations running affected versions must upgrade GitLab Enterprise Edition immediately to version 19.2.8 or later for the 16.11 branch, version 19.3.5 or later for the 19.3 series, and version 19.4.2 or later for the 19.4 series. These releases contain patches that correct the identity resolution logic to ensure that contributors are correctly identified as such during the approval process, thereby enforcing the restriction against self-approval. In addition to upgrading, administrators should audit recent merge activities in protected branches to identify any potential unauthorized merges that may have occurred while the vulnerability was present. Implementing additional branch protection rules, such as requiring multiple approvers or mandating status checks from CI/CD pipelines before merging, can provide defense-in-depth measures that reduce reliance on single-point approval mechanisms and further secure the software supply chain against similar logical flaws in the future.

Responsible

GitLab

Reservation

09/16/2026

Disclosure

10/13/2026

Moderation

accepted

EPSS

0.00131

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!