# GitLab Patches 13 Security Flaws (incl. CVE-2026-6267, CVE-2026-12436) Enabling Data Exposure, CI/CD Tampering, and DoS

> GitLab shipped CE/EE 19.2.1, 19.1.3, and 19.0.5 on 2026-07-29, fixing 13 vulnerabilities: a High-severity Workhorse access-control flaw (CVE-2026-6267, CVSS 8.5), a High-severity Pipeline Schedule API mass-assignment flaw enabling CI/CD tampering (CVE-2026-12436, CVSS 8.4), an unauthenticated merge-request-discussion DoS (CVE-2026-15975, CVSS 7.5), and 10 further Medium/Low issues spanning approval-rule race conditions, Virtual Registries credential exposure, project-import authorization gaps, stored XSS, and two Duo AI-feature flaws (prompt injection and governance-policy bypass).

- **Published:** 2026-07-29T00:00:00Z
- **Last reviewed:** 2026-07-29T00:00:00Z
- **Canonical:** https://intel.threadlinqs.com/threat/TL-2026-1806
- **Card image:** https://intel.threadlinqs.com/og/threat/threat-intel-gitlab-19-2-1-patch-flaws-tl-2026-1806.webp?v=78e13f3d (Threadlinqs threat intel: GitLab 19.2.1 patch flaws (TL-2026-1806) — High severity, 24 IOCs, 9 detection rules.)
- **ID:** TL-2026-1806
- **Severity:** HIGH (CVSS 8.5)
- **Category:** VULNERABILITY
- **Status:** PATCHED
- **Detections:** 9 (1 shown free below) · **IOCs:** 24
- **CVEs:** CVE-2026-6267, CVE-2026-12436, CVE-2026-15975, CVE-2026-13113, CVE-2026-16553, CVE-2026-6336, CVE-2026-14341, CVE-2026-3093, CVE-2026-15077, CVE-2026-15831, CVE-2026-14351, CVE-2026-4672, CVE-2025-14562

## Description

On 2026-07-29 GitLab released Community Edition (CE) and Enterprise Edition (EE) versions 19.2.1, 19.1.3, and 19.0.5, resolving 13 vulnerabilities disclosed together in a single scheduled patch release. GitLab.com (SaaS) and GitLab Dedicated were already running the patched code at release time; the advisory is aimed at self-managed CE/EE administrators, who are strongly urged to upgrade immediately.

The three highest-impact issues are CVE-2026-6267 (CVSS 8.5, CWE-201), an improper access-control flaw in GitLab Workhorse's internal request handling that lets an authenticated Developer-role user retrieve sensitive information beyond their authorization (affects all releases from 10.1.0 up to the patched versions); CVE-2026-12436 (CVSS 8.4, CWE-915), a mass-assignment flaw in the Pipeline Schedule API caused by improper validation of user-supplied attributes, allowing an authenticated low-privilege user to modify CI/CD pipeline-schedule configuration belonging to another user — a direct CI/CD-tampering and software-supply-chain risk (affects 18.0 up to the patched versions); and CVE-2026-15975 (CVSS 7.5, CWE-770), an unauthenticated denial-of-service in merge request discussions caused by insufficient resource throttling, letting an unauthenticated attacker crash or significantly degrade a self-managed instance (affects 11.8 up to the patched versions).

Ten further Medium- and Low-severity issues were fixed in the same release: CVE-2026-13113 (CVSS 6.5, CWE-367, EE-only, affects 17.0+) is a time-of-check/time-of-use race condition in merge-request approval-rule processing that could let a user merge to a protected branch without the required approvals; CVE-2026-16553 (CVSS 5.4, CWE-522, EE-only, affects 18.8+) is an insufficiently-protected-credentials flaw in Virtual Registries (GitLab's upstream package-registry proxy) that could leak credentials meant for a legitimate upstream to an unintended host; CVE-2026-6336 (CVSS 5.3, affects 16.6+) is a missing-authorization flaw exposing project-import source/status information, reported by researcher 3nvz via HackerOne; CVE-2026-14341 (CVSS 4.9, affects 12.8+) is an improper-authorization flaw in a projects API endpoint letting a Maintainer-role user modify protected-branch configuration outside their authorization; CVE-2026-3093 (CVSS 4.7, CWE-79, affects 14.0+) is a stored/reflected cross-site-scripting flaw in paginated list views; CVE-2026-15077 (CVSS 4.3, EE-only, affects 19.1+) is an indirect prompt-injection flaw in GitLab Duo Code Review — the AI code-review assistant trusts untrusted content embedded in code, commit messages, and review artifacts, letting an attacker craft content that redirects the AI backend to disclose data from projects the attacker cannot otherwise access; CVE-2026-15831 (CVSS 4.3, EE-only, affects 19.1+) is a flawed security-token-generation issue in Duo Workflows letting an authenticated user bypass administrator-configured AI tool-governance policies; CVE-2026-14351 (CVSS 4.3, CWE-1230, affects 8.8+) exposes confidential issue titles through merge-request-title-generation metadata; CVE-2026-4672 (CVSS 4.3, affects 18.4+) is an access-control flaw letting a Guest-role user view Pipeline Test Report contents they are not authorized to see, reported by researcher rogerace via HackerOne; and CVE-2025-14562 (CVSS 3.1, affects 10.6+) is an improper-authorization flaw in merge-request collaboration settings that could let a Developer-role user who has been removed from a project retain the ability to commit changes to it.

GitLab's HackerOne public bug-bounty program produced at least four of the reports in this batch, each reserved months before the coordinated July 29 patch release: CVE-2026-4672 (reported by rogerace, reserved 2026-03-23), CVE-2026-6267 (reported by thwin_htet, reserved 2026-04-14), CVE-2026-6336 (reported by 3nvz, reserved 2026-04-15), and CVE-2026-12436 (reported by a0xnirudh, reserved 2026-06-16). GitLab's standard security-release policy publishes full issue-tracker detail for each vulnerability 90 days after the release that patched it, so remaining technical detail on all 13 issues is scheduled to become public around 2026-10-27. As of the hunt/research window, no public proof-of-concept exploit code has been published for any of the 13 CVEs, and none appear in the CISA Known Exploited Vulnerabilities (KEV) catalog — there is no evidence of active in-the-wild exploitation. The cluster is notable for including GitLab's second and third publicly disclosed weaknesses in its Duo AI feature set (prompt injection and AI-governance-policy bypass), reflecting a growing class of AI-assistant-specific vulnerabilities layered on top of traditional web-application access-control and mass-assignment bug classes in the same DevOps platform.

## MITRE ATT&CK

- T1078 Valid Accounts
- T1190 Exploit Public-Facing Application
- T1195.002 Compromise Software Supply Chain
- T1059.007 JavaScript
- T1098 Account Manipulation
- T1053.005 Scheduled Task
- T1078.004 Cloud Accounts
- T1548 Abuse Elevation Control Mechanism
- T1685 Disable or Modify Tools
- T1552 Unsecured Credentials
- T1518 Software Discovery
- T1213 Data from Information Repositories
- T1005 Data from Local System
- T1567 Exfiltration Over Web Service
- T1499.003 Application Exhaustion Flood

## Free detection (Splunk SPL, Microsoft KQL, Sigma)

**GitLab Pipeline Schedule API Mass-Assignment Attempt — Exploitation (CVE-2026-12436)** (`TL-2026-1806-SPL-001`)

Detects PUT/PATCH requests to the GitLab Pipeline Schedule API (/api/v4/projects/:id/pipeline_schedules/:id) whose JSON body contains an owner_id or active field — attributes a Developer-role caller should never be able to set on a schedule they do not own. This is the exact mass-assignment mechanism behind CVE-2026-12436 (CVSS 8.4) that lets a low-privileged user tamper with another user's CI/CD pipeline-schedule configuration, a direct software-supply-chain risk.

- **Languages:** Splunk SPL, Microsoft KQL, Sigma
- **ATT&CK:** T1078, T1195.002, T1548
- **Data sources:** gitlab_api_json_log, gitlab_audit_json_log
- **Severity:** high
- **Confidence:** high

### Splunk SPL

```spl
index=gitlab sourcetype="gitlab:api" (http_method="PUT" OR http_method="PATCH") uri="*/pipeline_schedules/*"
| eval has_owner_field=if(match(request_body,"(?i)\"owner_id\"") OR match(request_body,"(?i)\"active\""),1,0)
| where has_owner_field=1
| rex field=uri "pipeline_schedules/(?<schedule_id>\d+)"
| eval caller_is_owner=if(user_id==schedule_owner_id,1,0)
| where isnull(caller_is_owner) OR caller_is_owner=0
| stats count min(_time) as first_seen max(_time) as last_seen values(uri) as endpoints by user, remote_ip, project_id, schedule_id
| convert ctime(first_seen) ctime(last_seen)
| where count>0
```

### Microsoft KQL

```kql
GitLabApiLog_CL
| where TimeGenerated > ago(24h)
| where HttpMethod_s in ("PUT", "PATCH")
| where RequestUri_s has "/pipeline_schedules/"
| where RequestBody_s has "owner_id" or RequestBody_s has "active"
| extend ScheduleId = extract(@"pipeline_schedules/(\d+)", 1, RequestUri_s)
| project TimeGenerated, CallerUser_s, CallerRole_s, SourceIP_s, ProjectId_s, ScheduleId, RequestUri_s, RequestBody_s
| summarize AttemptCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by CallerUser_s, SourceIP_s, ProjectId_s, ScheduleId
| where AttemptCount > 0
```

### Sigma

```yaml
title: GitLab Pipeline Schedule API Mass-Assignment Attempt (CVE-2026-12436)
id: e1a2b3c4-1111-4a2b-8c3d-1a2b3c4d5e6f
status: experimental
description: Detects PUT/PATCH requests to the Pipeline Schedule API carrying an owner_id or active field, the mass-assignment vector behind CVE-2026-12436 that allows an authenticated low-privilege user to tamper with another user's CI/CD pipeline-schedule configuration.
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-12436
    - https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-1-released/
author: AII-Detector — ThreadLinqs Intelligence
date: 2026-08-01
tags:
    - attack.initial-access
    - attack.t1078
    - attack.t1195.002
    - attack.t1548
    - cve.2026.12436
logsource:
    product: gitlab
    category: api_audit
detection:
    selection_method:
        http_method:
            - 'PUT'
            - 'PATCH'
    selection_path:
        url_path|contains: '/pipeline_schedules/'
    selection_body:
        request_body|contains:
            - 'owner_id'
            - 'active'
    condition: selection_method and selection_path and selection_body
falsepositives:
    - GitLab administrator or CI bot performing a legitimate bulk pipeline-schedule ownership migration
level: high
```

**Known false positives:**

- GitLab administrator or migration automation legitimately reassigning pipeline-schedule ownership during a project transfer
- CI/CD tooling that batch-updates schedule active/owner state via an authorized service account

**Tuning notes:** Baseline known service-account/automation user IDs that legitimately manage cross-owner schedules and suppress those; tighten by joining against the Pipeline Schedule API's schedule-ownership record so caller_is_owner is always resolvable rather than relying on isnull() fallback.

### 8 more detection rules (Splunk SPL, Microsoft KQL, Sigma), unlock with TL Creds

- GitLab Workhorse Internal Endpoint Reached by Non-Internal Caller — Exploitation (CVE-2026-6267) (locked: unlock with TL Creds)
- GitLab Retained Commit Access After Removal & Virtual Registries Credential Leak — Post-Exploitation (CVE-2025-14562 / CVE-2026-16553) (locked: unlock with TL Creds)
- GitLab Duo Workflows Tool-Governance Policy Bypass — C2/Lateral Movement (CVE-2026-15831) (locked: unlock with TL Creds)
- GitLab Unauthenticated Merge Request Discussion Burst — Exploitation / DoS (CVE-2026-15975) (locked: unlock with TL Creds)
- GitLab Guest-Role Test-Report Access & Project-Import Info Disclosure — Post-Exploitation (CVE-2026-4672 / CVE-2026-6336) (locked: unlock with TL Creds)
- GitLab Stored/Reflected XSS in Paginated List Views — C2/Lateral Movement via Session Hijack (CVE-2026-3093) (locked: unlock with TL Creds)
- GitLab Protected-Branch Approval-Bypass Merge Following Config Change — Post-Exploitation (CVE-2026-13113 / CVE-2026-14341) (locked: unlock with TL Creds)
- GitLab Duo Code Review Indirect Prompt Injection → Cross-Project Data Disclosure — C2/Lateral Movement (CVE-2026-15077) (locked: unlock with TL Creds)

Sign up free to unlock the detection rules: https://threadlinqs.com/?modal=signup

## Sources

- [GitLab Patches 13 Security Flaws Enabling Data Exposure, CI/CD Tampering and DoS Attacks](https://gbhackers.com/gitlab-patches-13-security-flaws/)
- [GitLab Fixes 13 Security Flaws That Can Leak Data, Alter Pipelines, and Crash Servers](https://cybersecuritynews.com/gitlab-fixes-13-security-flaws/amp/)
- [GitLab Patch Release: 19.2.1, 19.1.3, 19.0.5](https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-1-released/)
- [GitLab Patch Release: 19.2.1, 19.1.3, 19.0.5 - Community Forum](https://forum.gitlab.com/t/gitlab-patch-release-19-2-1-19-1-3-19-0-5/134706)
- [GitLab Patches 13 Security Flaws Enabling Data Exposure, CI/CD Tampering and DoS Attacks](https://cyberpress.org/gitlab-patches-13-security-flaws/)
- [GitLab Fixes 13 Security Flaws That Can Leak Data, Alter Pipelines, and Crash Servers](https://www.cryptika.com/gitlab-fixes-13-security-flaws-that-can-leak-data-alter-pipelines-and-crash-servers/)
- [GitLab Multiple Vulnerabilities](https://www.hkcert.org/security-bulletin/gitlab-multiple-vulnerabilities_20260730)
- [CVE Record: CVE-2026-6267](https://www.cve.org/CVERecord?id=CVE-2026-6267)
- [NVD - CVE-2026-6267](https://nvd.nist.gov/vuln/detail/CVE-2026-6267)
- [NVD - CVE-2026-12436](https://nvd.nist.gov/vuln/detail/CVE-2026-12436)
- [NVD - CVE-2026-15975](https://nvd.nist.gov/vuln/detail/CVE-2026-15975)
- [CVE-2026-16553: GitLab EE Information Disclosure Flaw](https://www.sentinelone.com/vulnerability-database/cve-2026-16553/)
- [CVE-2026-15077: GitLab EE Information Disclosure Flaw](https://www.sentinelone.com/vulnerability-database/cve-2026-15077/)
- [GitLab Patches Multiple Duo AI, DoS, and Authorization Vulnerabilities](https://gbhackers.com/gitlab-patches-multiple-vulnerabilities-3/)
- [CVE-2026-6267 record — reservation date, HackerOne credit (thwin_htet)](https://cve.threatint.com/CVE/CVE-2026-6267)

## Full data

The other 8 detection rules (Splunk SPL / Microsoft KQL / Sigma) unlock with TL Creds; a free account includes daily creds: https://threadlinqs.com/?modal=signup
Indicator values unlock with TL Creds, at a lower price on Red and Purple; AI agents can query rules and IOCs through the Threadlinqs MCP server (Purple): https://intel.threadlinqs.com/mcp

Canonical: https://intel.threadlinqs.com/threat/TL-2026-1806
