basicsecurity.net
Proof, not just disclosure.
Threats / GitLab / CVE-2021-39935
CVE-2021-39935 · EUVD no mirror located · GCVE no mirror located Verified 2026-06-22

GitLab Community and Enterprise Editions vulnerability

GitLab Community and Enterprise Editions contain a server-side request forgery vulnerability in the CI Lint API that allows unauthorized external users to perform arbitrary server-side requests.

Verdict

Today item — known-exploited.

An unauthenticated attacker can exploit SSRF via the CI Lint API to make requests from the GitLab server to internal or external systems, potentially accessing sensitive data, internal services, or launching further attacks against network infrastructure.

CISA KEV Yes · 2026-02-033EPSS 0.30496 (verify live)4
01

Is it exploitable?

— the evidence, ranked above the score
Reported exploitation
2 independent public reports of in-the-wild exploitation are cataloged.Distinct reporting sources (vendor, incident response, government); open them for the underlying claims.
Exploited in the wild
Listed in the CISA Known Exploited Vulnerabilities catalog (added 2026-02-03).
CISA KEV ↗Confirmed
Probability (EPSS)
EPSS 0.30496 — modeled likelihood of exploitation activity.EPSS is a daily-changing model output — open the source for today's value.
Severity / affected
Affected: GitLab, Community and Enterprise Editions. Confirm exact fixed builds in the vendor advisory.
NVD ↗Reported
Weakness (CWE)
Mapped to CWE-918 Server-Side Request Forgery (SSRF).CWE assignment from the public NVD record; the weakness class drives how the flaw is exploited.
NVD ↗Reported
02

Who’s exploiting it?

— attribution turns risk into urgency
Attribution not established

No confirmed (advisory-backed) threat-actor attribution is established for this record. Absence of a named actor is not absence of compromise — see Coverage & confidence.

03

Why it matters

— the attack path, told twice: adversary, then board
1

Front door — unauthenticated access narrative 1

Attacker
I craft a malicious CI Lint API request that causes the GitLab server to make HTTP requests to internal network addresses or services I specify.
Business
Internal services and resources become accessible to external attackers without authentication, exposing sensitive data and system topology.
2

Keys to the kingdom — privilege/identity takeover narrative 2

Attacker
I use the SSRF to probe and enumerate internal services, cloud metadata endpoints, or private APIs running on the same network as GitLab.
Business
Attackers gain reconnaissance of internal infrastructure, increasing risk of lateral movement and targeted secondary attacks.
3

Lateral reach — past segmentation narrative 3

Attacker
I leverage the server-side request capability to interact with internal APIs or services that trust the GitLab server, bypassing network segmentation.
Business
Trust relationships between systems are compromised, allowing attackers to pivot to other critical infrastructure components.
04

What to do

— defensible action
  • Remediate per the vendor advisory — confirm the fixed build for your version and verify exposure.1
Say it to the boardA vulnerability with this evidence profile is a defensible budget line, not a backlog ticket — fund the change against the proof above.
05

Coverage & confidence

— what we know, and what we don’t

Established (cited)

  • KEV listing (CISA)
  • EPSS probability (FIRST)
  • 2 reported-exploitation source(s)
  • CWE weakness mapping (NVD)
  • Catalogued by GitLab (CNA)
  • Named finder/reporter credit (CVE.org)
  • Coverage gaps — stated, not hidden

  • No EUVD / GCVE mirror in feed — single-authority dependency for the identifier.
  • EPSS & exposure are time-varying; verify live at the source.
  • Threat-actor attribution not established from feed data — absence of a name is not absence of compromise.
  • Disclosure & credit2
    Catalogued by GitLabCNA
    Credited with finding itThanks @minhli for reporting this vulnerability through our HackerOne bug bounty programunspecified