Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33693 — CVE-2026-33693: SSRF عبر تجاوز 0.0.0.0 في activitypub-federation-rust v4_is_invalid() (CVSS 6.5 متوسطة) | Kitploit
أدوات/GitHubGitHub/snailsploit/cve-2026-33693
الاستطلاعتحليل الثغرات الأمنيةالاستغلالأمن الويبالأوراق والأبحاثالتعلم والتعليم
GitHubsnailsploit/cve-2026-33693

CVE-2026-33693

CVE-2026-33693: SSRF عبر تجاوز 0.0.0.0 في activitypub-federation-rust v4_is_invalid() (CVSS 6.5 متوسطة)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-33693: SSRF عبر تجاوز 0.0.0.0 في v4_is_invalid() في activitypub-federation-rust (CVSS 6.5 متوسط)

GHSA CVE CVSS Platform CWE

الكلمات الدالة: SSRF، 0.0.0.0، تجاوز التحقق من عنوان IP، activitypub-federation، Lemmy، Rust، ActivityPub


جدول المحتويات

  • نظرة عامة
  • تفاصيل الثغرة
  • تحليل تقني
  • سلسلة الهجوم
  • التأثير
  • الإصلاح
  • مقاييس CVSS v3.1
  • الجدول الزمني
  • المراجع
  • جهة الاتصال
  • إخلاء المسؤولية

نظرة عامة

توجد ثغرة من نوع تزوير الطلبات من جانب الخادم (SSRF) في مكتبة activitypub-federation-rust (المستخدمة من قبل Lemmy و 6+ مشاريع تابعة) بسبب فحص غير مكتمل لعناوين IP في الدالة v4_is_invalid(). لا تستدعي الدالة is_unspecified()، مما يسمح للمهاجم بتجاوز حماية SSRF عن طريق استهداف 0.0.0.0 — الذي يُحوّل إلى المضيف المحلي (localhost) على معظم الأنظمة.

  • الحزمة: activitypub_federation (Rust/cargo)
  • الإصدارات المتأثرة: <= 0.7.1
  • الإصدار المصلَح: PR #162

تفاصيل الثغرة

تتحقق الدالة v4_is_invalid() في src/utils.rs من عناوين IPv4 لمنع الوصول إلى الشبكة الداخلية. تفحص العناوين الحلقية (127.0.0.0/8)، والنطاقات الخاصة (10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16)، والرابط المحلي (169.254.0.0/16)، والعناوين البثية (255.255.255.255)، ولكن لا تفحص العنوان غير المحدد 0.0.0.0.

على معظم الأنظمة، يُحوّل 0.0.0.0 إلى واجهة الاسترجاع (loopback)، مما يمنح نفس الوصول مثل 127.0.0.1.

نتيجة ثانوية: توجد أيضًا ثغرة من نوع إعادة ربط DNS / TOCTOU حيث تقوم lookup_host() بحل اسم المضيف والتحقق من IP، لكن استدعاء منفصل reqwest يقوم بحل DNS ثانٍ — مما يسمح للمهاجم بتقديم IP آمن أولاً، ثم إعادة الربط إلى IP داخلي عند الحل الثاني.


تحليل تقني

الكود الثغري (src/utils.rs)

root@kitploit:~
fn v4_is_invalid(ip: &Ipv4Addr) -> bool {
    ip.is_loopback()
        || ip.is_private()
        || ip.is_link_local()
        || ip.is_broadcast()
        // مفقود: || ip.is_unspecified()  <- 0.0.0.0 غير محظور
}

الكود المُصلَح

root@kitploit:~
fn v4_is_invalid(ip: &Ipv4Addr) -> bool {
    ip.is_loopback()
        || ip.is_private()
        || ip.is_link_local()
        || ip.is_broadcast()
        || ip.is_unspecified()  // <- الآن يمنع 0.0.0.0
}

سلسلة الهجوم

root@kitploit:~
+---------------------------------------------------+
|           SSRF عبر تجاوز 0.0.0.0                  |
+---------------------------------------------------+
|                                                   |
|  1. يستضيف المهاجم كائن ActivityPub مع           |
|     رابط يشير إلى http://0.0.0.0:<port>/path     |
|                                                   |
|  2. يجلب مثيل Lemmy الكائن عبر                    |
|     activitypub-federation-rust                    |
|                                                   |
|  3. تتحقق v4_is_invalid() من عنوان IP:           |
|     x is_loopback()     -> false (ليس 127.x)     |
|     x is_private()      -> false (ليس RFC1918)    |
|     x is_link_local()   -> false (ليس 169.254.x) |
|     x is_broadcast()    -> false (ليس 255.x)     |
|     x is_unspecified()  -> لم يتم الفحص           |
|     النتيجة: 0.0.0.0 ينجح التحقق                |
|                                                   |
|  4. يتم إرسال الطلب إلى 0.0.0.0 -> يُحوّل إلى   |
|     localhost -> الوصول إلى الخدمات الداخلية      |
|                                                   |
|  5. يتم إرجاع بيانات الخدمة الداخلية للمهاجم      |
|     عبر استجابة الموافقة الفيدرالية ActivityPub   |
|                                                   |
+---------------------------------------------------+

التأثير

التعرض للأسفل: تُستخدم حزمة activitypub-federation-rust في 6+ مشاريع في نظام Fediverse البيئي:

يمكن للمهاجم:

  • الوصول إلى الخدمات الداخلية (قواعد البيانات، لوحات الإدارة، نقاط نهاية بيانات السحابة الوصفية)
  • مسح المنافذ الداخلية على خادم Lemmy/الفيدرالية
  • سرقة بيانات الاعتماد السحابية عبر واجهات برمجة التطبيقات الوصفية

الإصلاح

  • الترقية إلى إصدار من activitypub-federation يحتوي على الإصلاح من PR #162
  • مستخدمو Lemmy: طبق النقل الخلفي من lemmy#6411

مقاييس CVSS v3.1


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


المراجع

  • GHSA-q537-8fr5-cw35
  • CVE-2026-33693
  • إصلاح PR #162
  • نقل خلفي لـ Lemmy PR #6411
  • CWE-918: تزوير الطلبات من جانب الخادم

جهة الاتصال

  • الموقع الإلكتروني: snailsploit.com
  • GitHub: @SnailSploit
  • LinkedIn: /in/kaiaizen

إخلاء المسؤولية

يُحفظ هذا المستودع للأغراض التعليمية والدفاعية كجزء من الإفصاح المسؤول عن الثغرات. تم الإبلاغ عن الثغرة عبر عملية الإبلاغ عن الثغرات الخاصة في GitHub (PVRT). لم يتم إجراء أي استغلال ضد أنظمة الإنتاج. تم إجراء جميع الاختبارات في بيئات معزولة.


📚 الوثائق والمؤلف

الكتابة الكاملة لهذا المشروع، والمنهجية، والبحوث ذات الصلة موجودة في:

https://snailsploit.com/security-research/cves/cve-2026-33693/

تم الإنشاء بواسطة Kai Aizen — باحث أمني هجومي مستقل.

snailsploit.com · البحوث · الأطر · GitHub · LinkedIn · ResearchGate · X/Twitter

نفس الهجوم. ركيزة مختلفة.

تنزيل الأداة
المشروعالنجومالوصف
Lemmy13.7K+مجمع روابط لـ Fediverse
hatsu--جسر ActivityPub
gill--استضافة Git مع التمويل الفيدرالي
ties--شبكات اجتماعية
fediscus--مناقشات فيدرالية
fediverse-axum--إطار عمل ActivityPub
المقياسالقيمة
متجه الهجومشبكي
تعقيد الهجوممنخفض
الامتيازات المطلوبةلا شيء
تفاعل المستخدملا شيء
النطاقغير متغير
السريةمنخفضة
النزاهةمنخفضة
التوفرلا شيء
متجه CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
النتيجة6.5 (متوسط)
التاريخالحدث
2026-03-11تم الإبلاغ عن الثغرة عبر GitHub PVRT
2026-03-13أكد المشرف على النتيجة
2026-03-13تم تقديم إصلاح PR #162
2026-03-13تم إغلاق الاستشارة عن طريق الخطأ
2026-03-16أعيد فتح الاستشارة
2026-03-23تم تعيين CVE-2026-33693 ونشر الاستشارة