Skip to main content

GitLab CVE-2026-13319

| EUVDEUVD-2026-107679 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-21 GitLab GHSA-vpg2-vq38-j96f
6.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to GitLab instance
  2. Exploit
    Call group milestones API with crafted project filter
  3. Execution
    Bypass missing authorization check
  4. Impact
    Read private project milestone metadata

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires an authenticated GitLab account on the target instance (PR:L) - on instances permitting open self-registration this bar is effectively minimal, but on locked-down instances it requires valid credentials. The specific trigger is supplying a user-controlled project filter parameter to the group milestones API, which lacks an authorization check; no project membership in the targeted private projects is needed. No user interaction and no special non-default configuration is required beyond having the group milestones API reachable. Limiting factors: impact is confined to read-only disclosure of milestone metadata (titles, descriptions, full project paths) - no data modification, no code access, and only Medium confidentiality exposure. Affected versions are 15.10 up to the fixed releases (19.3.6, 19.4.3, 19.5.1); patched instances are not exploitable.

Impact

This is a genuine but low-to-moderate priority information-disclosure flaw, not a high-impact issue. The CVSS 3.1 score of 4.3 (Medium) is consistent with the vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N: network-reachable, low complexity, but requiring an authenticated account (PR:L) and yielding only limited confidentiality impact (C:L) with no integrity or availability effect. Publicly available exploit code exists (referenced HackerOne report #3792168), which raises practical risk, but there is no CISA KEV listing - so this should be treated as 'publicly available exploit code exists', NOT active exploitation. No EPSS score was provided in the input, so the statistical exploitation probability cannot be weighed here and should be checked separately. No SSVC decision data was supplied. The realistic risk is unauthorized enumeration/reconnaissance: any authenticated user (including low-privilege or, on instances allowing self-registration, near-anonymous accounts) can read milestone titles, descriptions, and full project paths from arbitrary private projects, leaking project structure and potentially sensitive planning information. The weakness is an IDOR (CWE-639), i.e. an authorization bypass, so the 'Authentication Bypass' tag in the input is imprecise - the user is authenticated; it is authorization that fails.

Exploit ScenarioDerived

An authenticated GitLab user (no membership in the target projects) sends a request to the group milestones API supplying a crafted project filter parameter referencing private projects they should not see. Because the authorization check on that user-supplied parameter is missing, the API returns milestone metadata - titles, descriptions, and full project paths - for those private projects. Public exploit code is referenced via a HackerOne report, lowering the barrier to reproduction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 22, 2026

An authorization bypass in the GitLab CE/EE group milestones API lets any authenticated user read milestone metadata - titles, descriptions, and full project paths - from arbitrary private projects without holding membership in them. Affected releases span 15.10 through the fixed versions 19.3.6, 19.4.3, and 19.5.1, and exploitation only requires a valid account plus a crafted project filter parameter (CVSS 4.3, PR:L, confidentiality-only). Publicly available exploit code exists (HackerOne report 3792168), but the flaw is read-only metadata disclosure with no modification or code access, making it a low-to-moderate priority information-disclosure issue rather than a high-impact compromise.

RemediationAI

Upgrade to GitLab 19.3.6, 19.4.3, or 19.5.1 (or later) per the vendor patch release advisory at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-5-1-released/; no backport exists for the 15.10-19.3.5 range, so upgrade is the only complete fix. Where an immediate upgrade is not possible, compensating controls are: disable or restrict open self-registration so that anonymous parties cannot obtain the low-privilege account the attack needs, and, if the group milestones API is not consumed by internal tooling, gate it at the reverse proxy or WAF by blocking the milestones endpoints for low-privilege tokens - the trade-off is breakage of legitimate milestone integrations and API clients; alternatively, restrict network access to the GitLab web/API listener to trusted users via VPN or IP allowlists, which reduces exposure but does not remediate the underlying missing check. Because exploitation only requires a valid account and the leaked data is read-only metadata (titles, descriptions, project paths), monitoring for bulk or sequential project-ID enumeration against milestones endpoints is a useful detection measure, and rotating or tightening project-visibility settings does not prevent the disclosure since the flaw bypasses membership checks entirely.

Affected VersionsENISA

GitLab 15.10 <19.3.6
GitLab 19.4 <19.4.3
GitLab 19.5 <19.5.1

Affected Packages

euvd gitlab fix: 19.3.6, 19.4.3, 19.5.1

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 bug is a classic CWE-639 authorization bypass through a user-controlled key: the group milestones API accepts a project filter parameter supplied by the caller and uses it to scope the query without verifying that the requester is authorized to view the referenced project. Because milestones are group-scoped objects that carry project identifiers and human-readable metadata, an attacker can enumerate private project IDs and harvest milestone titles, descriptions, and full project paths across the entire instance. GitLab's CE/EE codebase is the single CPE-affected product (cpe:2.3:a:gitlab:gitlab), with the vulnerable window starting at 15.10 and closed by the 19.3.6, 19.4.3, and 19.5.1 patch releases. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) confirms the exposure is remote, unauthenticated-at-the-network-layer but requiring a low-privilege account, needs no user interaction, and is limited to partial confidentiality impact with no integrity or availability effect.

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 MEDIUM
NVD 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.3 MEDIUM

Authenticated user over the network (AV:N, PR:L) exploits a trivial IDOR (AC:L, UI:N) for read-only metadata disclosure, so C:L with I:N and A:N.

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

Primary rating from Vendor (GitLab).

CVSS VectorNVD

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

Lifecycle Timeline

3
CVSS changed
Oct 27, 2026 - 14:22 NVD
4.3 (MEDIUM) 6.5 (MEDIUM)
Patch available
Oct 22, 2026 - 05:16 EUVD
CVE Published
Oct 21, 2026 - 23:35 cve.org
MEDIUM 4.3

DescriptionNVD

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 15.10 before 19.3.6, 19.4 before 19.4.3, and 19.5 before 19.5.1 that, could have allowed an authenticated to read milestone metadata, including titles, descriptions, and full project paths, from arbitrary private projects across the instance without any project membership, due to missing authorization checks on a user-supplied project filter parameter in the group milestones API.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
High
GitLab CE/EE is widely deployed enterprise DevOps/source-control software
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

52
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: +20
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-97229 CRITICAL POC
10.0 Oct 13

Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)

CVE-2026-110264 CRITICAL POC
10.0 Oct 22

Remote code execution in GitLab CE/EE can be triggered by a specially crafted regular expression processed through a vul

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-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

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

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