Skip to main content

GitLab CVE-2026-103549

| EUVDEUVD-2026-98209 LOW
Incorrect Authorization (CWE-863)
2026-10-13 GitLab GHSA-mqc6-5cm6-j5mh
2.7
CVSS 3.1 · Vendor: GitLab
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as maintainer-role user
  2. Delivery
    Target project with package protection rules
  3. Exploit
    Issue metadata removal request
  4. Execution
    Authorization check fails to enforce higher-role requirement
  5. Impact
    Protected package registry metadata deleted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated user holding maintainer-role permissions (PR:H) on a project or group that has GitLab package protection rules configured to restrict certain package registry metadata removal to higher roles (e.g., owner). The flaw only manifests 'under certain conditions' per the vendor, meaning package protection rules must be in active use and a maintainer must attempt the restricted metadata-removal action. Limiting factors: the attacker must already possess a trusted maintainer account (no anonymous or low-role access), the impact is confined to integrity of package registry metadata (no data disclosure or service disruption), and instances that do not use package protection rules are not exposed.

Impact

This is a genuinely low-priority issue, and the signals that are present all agree on that. The CVSS 3.1 base score of 2.7 (AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N) reflects a network-reachable but high-privilege flaw: exploitation requires an already-authenticated user holding maintainer-role permissions (PR:H), and the only impact is a low integrity hit (I:L) - removal of certain package registry metadata - with no confidentiality (C:N) or availability (A:N) consequence. There is no EPSS score, no CISA KEV listing, and no public exploit code in the provided intelligence, so there is no evidence of exploitation probability or active abuse; the status is best described as no public exploit identified at time of analysis. The underlying weakness is CWE-863 (Incorrect Authorization), consistent with the description's 'improper authorization checks.' No signals conflict here - every available indicator points the same direction: a legitimately-trusted insider (maintainer) can bypass package protection rules that are supposed to reserve certain metadata actions for higher roles. Note that the provided 'Authentication Bypass' tag is imprecise - this is an authorization/privilege-boundary flaw within authenticated sessions, not an authentication bypass. Real-world priority is low: patch in the normal maintenance cycle rather than as an emergency.

Exploit ScenarioDerived

An organization configures GitLab package protection rules so that only owners (or higher roles) may remove specific package registry metadata. A user who holds only maintainer-role permissions on the affected project or group leverages the broken authorization check to delete that protected metadata anyway, overriding the intended role restriction. No public proof-of-concept is identified, and exploitation requires the attacker to already possess a valid maintainer account.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 13, 2026

An authenticated user holding maintainer-role permissions on GitLab CE/EE can remove certain package registry metadata that package protection rules are supposed to reserve for higher-privileged roles, due to improper authorization checks in the package registry. The issue affects all versions from 17.6 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2, and manifests only on instances where package protection rules are actually configured; the assessed impact is integrity-only (CVSS 3.1 base score 2.7), with no confidentiality or availability loss, and there is no public exploit identified at time of analysis. Vendor-released patches are available in GitLab 19.2.8, 19.3.5, and 19.4.2.

RemediationAI

Upgrade to the vendor-released patched versions: GitLab 19.2.8 (for the 19.2 line), 19.3.5 (for the 19.3 line), or 19.4.2 (for the 19.4 line), per the patch-release advisory at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-2-released/ and tracking item https://gitlab.com/gitlab-org/gitlab/-/work_items/631531. Because the flaw requires an authenticated maintainer account, the most effective compensating control if immediate patching is not possible is to audit and, where feasible, downgrade maintainer-role membership on projects and groups that rely on package protection rules - accepting the operational cost that developers who legitimately need maintainer functions such as package publishing and registry administration will lose them until the upgrade is applied. Additionally, review package protection rule configurations to confirm they are still in force and check package registry metadata for unauthorized deletions that could have occurred while the bug was unpatched; instances that do not use package protection rules are not exposed and can be scheduled for a routine upgrade rather than an emergency one. No public exploit code has been identified, so this is a scheduled-maintenance priority rather than an emergency response.

Affected VersionsENISA

GitLab 19.3 <19.3.5
GitLab 19.4 <19.4.2
GitLab 17.6 <19.2.8

Affected Packages

euvd gitlab fix: 19.2.8, 19.3.5, 19.4.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a classic broken access control problem, classified as CWE-863 (Incorrect Authorization), inside the GitLab package registry. GitLab's package protection rules are an access-control layer that lets project owners declare which roles may perform destructive or metadata-altering operations against packages in a registry; the code path responsible for removing package registry metadata failed to enforce the role threshold defined by those rules, so a maintainer-level actor could perform an action the configuration reserved for owners or other higher roles. The assessed vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N confirms this is a network-reachable, low-complexity, no-user-interaction flaw that requires high privileges (PR:H) and yields only limited integrity impact within the same security scope. The CPE entry cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* is a version-agnostic match, so the authoritative version boundaries come from the vendor description and the GitLab patch-release advisory rather than from CPE version ranges.

Know when Gitlab gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitLab) PRIMARY 2.7 LOW
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 2.7 LOW

Requires an authenticated maintainer-role account so PR:H; attack is over the web API (AV:N) with no user interaction, and the only impact is limited metadata removal (I:L, C:N, A:N).

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitLab).

CVSS VectorVendor: GitLab

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 03:16 EUVD
CVE Published
Oct 13, 2026 - 01:05 cve.org
LOW 2.7

DescriptionCVE.org

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 17.6 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 with maintainer-role permissions to remove certain package registry metadata that package protection rules restrict to higher roles, due to improper authorization checks.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
High
GitLab CE/EE is widely deployed enterprise source-code and CI/CD platform
Social Media
2
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

14
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +14
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Gitlab

View all
CVE-2021-22205 CRITICAL POC
10.0 Apr 23

An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10

CVE-2023-7028 CRITICAL POC
10.0 Jan 12

An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.

CVE-2021-22175 CRITICAL POC
9.8 Jun 11

When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af

CVE-2026-85706 CRITICAL POC
10.0 Sep 12

Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the

CVE-2013-4490 MEDIUM POC
6.5 May 13

The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x

CVE-2022-2992 CRITICAL POC
9.9 Oct 17

A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows

CVE-2026-87719 CRITICAL POC
9.9 Sep 12

Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-93577 CRITICAL POC
9.9 Sep 23

Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over

CVE-2026-89078 CRITICAL POC
9.9 Sep 23

Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser

CVE-2026-61560 CRITICAL POC
9.8 Sep 15

Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy