CVE-2020-10977

MEDIUM LAB

GitLab EE/CE <12.9 - Path Traversal

Title source: llm
STIX 2.1

Exploitation Summary

EIP tracks 9 public exploits for CVE-2020-10977. PoCs published by thewhiteh4t, KooroshRZ, vandycknick, including Metasploit module exploits/multi/http/gitlab_file_read_rce.

AI-analyzed exploit summary This is a Python-based exploit for CVE-2020-10977, an arbitrary file read vulnerability in GitLab versions 12.9.0 and below. It authenticates via the web GUI, creates projects, and leverages issue movement to read arbitrary files.

Description

GitLab EE/CE 8.5 to 12.9 is vulnerable to a an path traversal when moving an issue between projects.

Exploits (9)

nomisec WORKING POC 70 stars
by thewhiteh4t · poc
https://github.com/thewhiteh4t/cve-2020-10977

This is a Python-based exploit for CVE-2020-10977, an arbitrary file read vulnerability in GitLab versions 12.9.0 and below. It authenticates via the web GUI, creates projects, and leverages issue movement to read arbitrary files.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: GitLab 12.9.0 and below
Auth required
Prerequisites: Valid GitLab credentials · Access to the GitLab web interface
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 4 stars
by KooroshRZ · poc
https://github.com/KooroshRZ/CVE-2020-10977

This PoC exploits CVE-2020-10977, an arbitrary file read vulnerability in GitLab, by leveraging a path traversal flaw in issue descriptions. It authenticates, creates a project/issue with a malicious file path, and retrieves the file content via a crafted URL.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: GitLab (tested on 21.9.0)
Auth required
Prerequisites: Authenticated GitLab user · World-readable target file on the server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by vandycknick · poc
https://github.com/vandycknick/gitlab-cve-2020-10977

This repository contains a functional exploit for CVE-2020-10977, which chains an arbitrary file read vulnerability with a deserialization flaw in GitLab's `experimentation_subject_id` cookie to achieve remote code execution. The exploit leverages the file read to extract the Rails `secret_key_base` and then crafts a malicious cookie to execute arbitrary commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: GitLab CE/EE (8.5 to 12.9.1, 12.8.8, 12.7.8)
Auth required
Prerequisites: Valid GitLab credentials · Network access to the target GitLab instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by liath · poc
https://github.com/liath/CVE-2020-10977

This is a functional exploit for CVE-2020-10977, targeting GitLab versions 12.4.0 to 12.8.1. It automates user creation, authentication, and leverages a path traversal vulnerability to exfiltrate the `secrets.yml` file, which is then used to forge a malicious session cookie for remote code execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: GitLab 12.4.0-12.8.1
Auth required
Prerequisites: Network access to the target GitLab instance · Valid or creatable user credentials · Ability to receive reverse shell connections
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by lisp3r · poc
https://github.com/lisp3r/cve-2020-10977-read-and-execute

This repository contains a functional exploit for CVE-2020-10977, which targets GitLab. The exploit leverages a deserialization vulnerability to achieve remote code execution (RCE) by stealing the `secret_key_base` and crafting a malicious cookie.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: GitLab 12.9.0
Auth required
Prerequisites: Valid GitLab credentials · Docker installed for cookie generation
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by erk3 · poc
https://github.com/erk3/gitlab-12.9.0-file-read

This is a functional exploit for CVE-2020-10977, an authenticated arbitrary file read vulnerability in GitLab versions before 12.9.0. It leverages a path traversal in issue descriptions to read local files on the GitLab server.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: GitLab < 12.9.0
Auth required
Prerequisites: Valid GitLab credentials · Personal access token · Network access to the GitLab instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by possib1e · poc
https://github.com/possib1e/cve-2020-10977

This exploit leverages a path traversal vulnerability in GitLab's issue attachment handling to read arbitrary files from the server. It creates projects and issues, then moves the issue to trigger the vulnerability, exposing the file content via a crafted URL.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: GitLab (versions affected by CVE-2020-10977)
Auth required
Prerequisites: Valid GitLab access token · Ability to create projects and issues
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by JustMichi · poc
https://github.com/JustMichi/CVE-2020-10977.py

This is a Python-based exploit for CVE-2020-10977, an authenticated arbitrary file read vulnerability in GitLab 12.8.1. It leverages a path traversal flaw in issue descriptions to exfiltrate files from the target system.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: GitLab 12.8.1
Auth required
Prerequisites: Valid GitLab account with API access token · Python 3 with requests and python-gitlab libraries
devstral-2 · analyzed Feb 16, 2026 Full analysis →
metasploit WORKING POC EXCELLENT
by William Bowling (vakzz), alanfoster · rubypocruby
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/gitlab_file_read_rce.rb

This Metasploit module exploits a deserialization vulnerability in GitLab, allowing authenticated users to achieve remote code execution (RCE) by crafting malicious serialized objects. The exploit leverages GitLab's session handling and project management features to execute arbitrary commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: GitLab (version not explicitly specified in the provided code)
Auth required
Prerequisites: Valid GitLab credentials · Access to GitLab instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →

References (3)

Core 3
Core References
Release Notes, Vendor Advisory x_refsource_misc
https://about.gitlab.com/releases/categories/releases/
Exploit, Third Party Advisory, VDB Entry x_refsource_misc
http://packetstormsecurity.com/files/160441/GitLab-File-Read-Remote-Code-Execution.html

Scores

CVSS v3 5.5
EPSS 0.4274
EPSS Percentile 98.5%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Lab Environment

COMMUNITY
Community Lab
docker pull gitlab/gitlab-ce:12.8.1-ce.0
+6 more repos

Details

CWE
CWE-22
Status published
Products (1)
gitlab/gitlab 8.5.0 - 12.9 (2 CPE variants)
Published Apr 08, 2020
Tracked Since Feb 18, 2026