An issue has been discovered in GitLab CE/EE affecting only version 16.0.0. An unauthenticated malicious user can use a path traversal vulnerability to read arbitrary files on the server when an attachment exists in a public project nested within at least five groups.
CVE-2023-2825
Score 10.0 from GitHub Security Advisory (severity: HIGH) published 2023-05-26. NVD baseline CVSS 10.0; sources differ by 0.0.
- High exploitation likelihood — EPSS 72%
- Public exploit code is available (Metasploit, ssvc poc, epss top5pct, epss high, public exploit)
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 10.0
- EG Score
- 10.0(medium)
- EG Risk
- 89(Attend)EG Risk 89/100SSVC: Attend
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity100% × 45%Exploitation72% × 40%Automatability100% × 15%Action: Remediate soon — notable exploitation risk. - EPSS PROB
- 72%
- EPSS %ILE
- 99%
- KEV
- Not listed
Published
May 26, 2023
Last Modified
January 15, 2025
Advisory Details (2)
Auto-updated Jul 25, 20262023/CVE-2023-2825.json · master · GitLab.org / GitLab CVE assignments · GitLab
https://gitlab.com/gitlab-org/cves/-/blob/master/2023/CVE-2023-2825.jsonArbitrary file read in project uploads controller via path traversal (#412371) · Issues · GitLab.org / GitLab · GitLab
https://gitlab.com/gitlab-org/gitlab/-/issues/412371Vendor Advisories for CVE-2023-2825(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 7× in last 7d / 24× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-25 14:16 UTCEPSS rescore
- 2026-07-24 14:15 UTCEPSS rescore
- 2026-07-23 02:20 UTCEG score recompute
- 2026-07-22 23:08 UTCEG score recompute
- 2026-07-22 14:06 UTCEPSS rescore
- 2026-07-22 14:06 UTCEPSS rescore
- 2026-07-21 15:23 UTCEPSS rescore
- 2026-07-20 17:06 UTCEPSS rescore
- 2026-07-19 02:27 UTCEPSS rescore
- 2026-07-19 02:27 UTCEPSS rescore
- 2026-07-15 19:49 UTCOSV refresh
- 2026-07-15 16:56 UTCEPSS rescore
- 2026-07-15 16:56 UTCEPSS rescore
- 2026-07-13 22:28 UTCEPSS rescore
- 2026-07-13 22:28 UTCEPSS rescore
- 2026-07-13 06:11 UTCEPSS rescore
- 2026-07-13 06:11 UTCEPSS rescore
- 2026-07-12 05:45 UTCEPSS rescore
- 2026-07-09 19:08 UTCEPSS rescore
- 2026-07-09 19:08 UTCEPSS rescore
- 2026-07-08 15:13 UTCEPSS rescore
- 2026-07-05 02:28 UTCEPSS rescore
- 2026-07-01 15:04 UTCEPSS rescore
- 2026-06-27 20:04 UTCOSV refresh
- 2026-06-25 13:48 UTCEPSS rescore
Show 35 moreShow fewer
- 2026-06-25 13:48 UTCEPSS rescore
- 2026-06-24 14:03 UTCEPSS rescore
- 2026-06-24 14:03 UTCEPSS rescore
- 2026-06-23 21:31 UTCEPSS rescore
- 2026-06-23 21:31 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-17 17:51 UTCEPSS rescore
- 2026-06-17 17:51 UTCEPSS rescore
- 2026-06-16 17:51 UTCEPSS rescore
- 2026-06-16 17:51 UTCEPSS rescore
- 2026-06-15 17:47 UTCEPSS rescore
- 2026-06-12 23:10 UTCEPSS rescore
- 2026-06-10 22:17 UTCEPSS rescore
- 2026-06-10 06:47 UTCOSV refresh
- 2026-06-07 15:23 UTCEPSS rescore
- 2026-06-07 15:23 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-01 13:51 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-28 13:43 UTCEPSS rescore
- 2026-05-28 13:43 UTCEPSS rescore
- 2026-05-27 13:39 UTCEPSS rescore
- 2026-05-27 13:39 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-26 07:17 UTCEPSS rescore
- 2026-05-25 00:31 UTCEG score recompute
- 2026-05-25 00:31 UTCGHSA enrichment
Publicly available exploits
(4 references)Working exploit code is in the public domain (1 Metasploit module) (2 GitHub PoCs). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- GitHub PoCGroppoxx/CVE-2023-2825-PoCFirst seen May 17, 2026
PoC for CVE-2023-2825: automated GitLab 16.0.0 arbitrary file read via nested public groups, project upload traversal, reusable upload paths, and clean CLI output.
Open source ↗ - GitHub PoCOccamsec/CVE-2023-2825First seen May 25, 2023
GitLab CVE-2023-2825 PoC. This PoC leverages a path traversal vulnerability to retrieve the /etc/passwd file from a system running GitLab 16.0.0.
Open source ↗ - Metasploitauxiliary/gather/gitlab_authenticated_subgroups_file_read✓ verifiedFirst seen May 23, 2023
GitLab Authenticated File Read
Open source ↗ - Nucleihttp/cves/2023/CVE-2023-2825.yamlFirst seen Jan 1, 2023
GitLab 16.0.0 - Path Traversal
Open source ↗
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2023-2825?
When was CVE-2023-2825 disclosed?
Is CVE-2023-2825 actively exploited?
What is the CVSS score of CVE-2023-2825?
How do I remediate CVE-2023-2825?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2023-2825
Is Your Infrastructure Affected by CVE-2023-2825?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.