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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/wdahlenburg/cve-2022-38725
تحليل الثغرات الأمنيةالاستغلالأمن الشبكاتاختبار الاختراقتحليل السجلات
GitHubwdahlenburg/cve-2022-38725

CVE-2022-38725

إثبات المفهوم لـ CVE-2022-38725 ضد syslog-ng

عرض المستودع
منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-38725

CVE-2022-38725 هي ثغرة رفض خدمة بدون مصادقة في إصدارات syslog-ng السابقة للإصدار 3.38.1.

https://github.com/syslog-ng/syslog-ng/security/advisories/GHSA-7932-4fc6-pvmc

https://nvd.nist.gov/vuln/detail/CVE-2022-38725

خطوات إعادة الإنتاج

  1. اسحب صورة docker معرضة للخطر:
root@kitploit:~
docker pull linuxserver/syslog-ng:3.36.1
  1. شغّل حاوية syslog-ng معرضة للخطر. لاحظ أنه يمكن تطبيق تكوينات syslog أخرى، لكن الإعدادات الافتراضية معرضة للخطر:
root@kitploit:~
docker run -p 514:5514/udp -p 601:6601/tcp --rm -it linuxserver/syslog-ng:3.36.1
  1. أرسل الحمولة إلى الخادم:
root@kitploit:~
echo '27 <182>2022-08-17T05:02:28.217 mymachine su: 'su root' failed for lonvick on /dev/pts/8' | nc 127.0.0.1 601 -w 1
  1. على المضيف المعرض للخطر، لاحظ أن المعالج قفز إلى 100% لعملية syslog-ng

syslog-ng-CVE-2022-38725

التحليل

يُشير إصدار 3.38.1 إلى https://github.com/syslog-ng/syslog-ng/pull/4110، والذي يتضمن اختبارات وحدة والعديد من عمليات التحقق لمنع متغيرات مماثلة من هذا الخطأ.

تتضمن المشكلة الأصلية معلومات تصحيح مفيدة حددت السبب الجذري.

تدّعي الاستشارة الأمنية على GitHub أن الثغرة تحدث بسبب التحليل غير السليم لـ RFC3164، وهو تنسيق syslog التقليدي لـ BSD. وتوضح الاستشارة أنه يمكن حدوث تجاوز سفلي للعدد الصحيح، وأنه يُعتقد أنه لا يوجد تأثير خارج نطاق التوافر.

يضيف طلب السحب (pull request) الذي يُصلح الثغرة اختبارات وحدة إلى محللي الطوابع الزمنية لكل من RFC3164 و RFC5424 (تنسيق syslog الأحدث).

لاحظ أن مواصفات RFC3164 تعرّف الطابع الزمني بحيث يطابق تنسيق Oct 11 22:14:15، بينما يستخدم RFC5424 تنسيق ISO، 1985-04-12T19:20:50.52-04:00. تشير حالات اختبار الوحدة إلى أن كود syslog-ng يحاول تحليل أي من التنسيقين. تدّعي الاستشارة الأمنية على GitHub أن الثغرة تحدث عند تحليل رسائل RFC3164، وهذا غير دقيق تمامًا. رسائل RFC5424 هي المسؤولة عن الطابع الزمني متغير الطول. نظرًا لأن بروتوكول syslog لا يحدد نوع الرسالة صراحةً، حاول مشروع syslog-ng تحليل كلا الطابعين الزمنيين. وهذا يسمح لرسالة RFC3164 ذات طابع زمني مشوّه بتفعيل الثغرة أيضًا:

root@kitploit:~
echo '21 <182>Oct 11 22:14:15.123 mymachine su: 'su root' failed for lonvick on /dev/pts/8' | nc 127.0.0.1 601 -w 1

يستخدم مصدر syslog عدّ الأوكتيت كما هو موصوف في RFC6587، وهذا العدّ يسبق رسالة syslog بعدد البايتات المرسلة في رسائل TCP.

يمكن تفعيل الثغرة عن طريق إرسال حجم رسالة لا يراعي الطابع الزمني ISO بشكل كامل. يمرّ كود syslog-ng عبر الطابع الزمني ويطرح عدد الأرقام من الطول المحدد. يسمح هذا التباين بحالة تجاوز سفلي حيث يصبح طول القراءة سالبًا في حين أنه لا تزال هناك بيانات لقراءتها من الرسالة.

تنتقل العملية إلى حلقة while حيث تعلق في محاولة قراءة الأحرف من الرسالة. تؤدي هذه المشكلة إلى استخدام 100% من وحدة المعالجة المركزية للعملية المعنية. يمكن للمهاجم إرسال حمولات متعددة لاستهلاك موارد نظام إضافية.

لا يستخدم Syslog عدّ الأوكتيت عبر UDP، لذا فإن الحمولة أعلاه ليس لها تأثير غير عادي. تؤدي إعادة تشغيل حاوية/عملية syslog-ng إلى إعادة تعيين استخدام وحدة المعالجة المركزية.

معلومات إضافية

أشار أحد القائمين على صيانة syslog-ng إلى أنه قد يكون من الممكن تفعيل ذلك من خلال TCP RST في منتصف الرسالة. ولوحظ أن الرسالة ستحتاج إلى إرسال طابع زمني جزئي قبل TCP RST. قد يسمح ذلك بتجاوز عدّ الأوكتيت.

تنزيل الأداة