
استغلالات إثبات المفهوم (PoC) لـ CVE-2026-52824 (GHSA-jr9p-4h4j-6c58) — تجاوز المصادقة في Kimai time-tracking بسبب APP_SECRET الافتراضي، مما يؤثر على الإصدارات ≤ 2.57.0
ملاحظة: يحتوي رابط المستودع على معرّف CVE قديم (CVE-2026-49865). معرّف CVE الصحيح والحالي المتتبَّع في هذا المستودع هو CVE-2026-52824 (GHSA-jr9p-4h4j-6c58).
مجموعة أدوات استغلال إثبات المفهوم لثغرة APP_SECRET الافتراضي المُضمَّن في Kimai لتتبع الوقت (الإصدارات ≤ 2.57.0). تتيح تجاوز المصادقة عبر ملفات تعريف KIMAI_REMEMBER المزوّرة على عمليات نشر Docker غير المُرقَّعة.
عندما صدرت CVE-2026-52824 — وهي ثغرة حرجة بتقييم CVSS 9.1 مع سرّ افتراضي مُضمَّن في صورة Docker يستخدمها آلاف المستضيفين الذاتيين — كان المجتمع التقني على علم بها، وصدر الإصلاح في 2.58.0. لكن لم ينشر أحد إثبات مفهوم فعّال.
لذا أعدت بناءه من الاستشارة الأمنية وحدها.
السلسلة: يُضمِّن Kimai القيمة APP_SECRET=change_this_to_something_unique في Docker و.env.dist. في الإصدار v2.57.0 تكون signature_properties لملفات تعريف تذكّرني فارغة، لذا تنهار FieldsHash إلى ثابت (SHA256('')). بدمج السرّ المعروف مع تجزئة فارغة يمكنك تزوير ملف تعريف KIMAI_REMEMBER لأي معرّف مستخدم — بما في ذلك المدير (id:1).
هذا المستودع هو مجموعة الأدوات الكاملة العاملة التي تنتقل من الاستشارة الأمنية إلى جلسة المدير على أي نسخة غير مُرقَّعة.
| الحقل | القيمة |
|---|---|
| CVE | CVE-2026-52824 |
| GHSA | GHSA-jr9p-4h4j-6c58 |
| CVSS | 9.1 (حرجة) |
| CWE | CWE-1188 — تهيئة مورد افتراضي غير آمنة |
| المتأثرة | Kimai ≤ 2.57.0 (صورة Docker / .env.dist) |
| المُصلَحة | 2.58.0 |
| الفضل | Trent M. (AzureADTrent) |
يأتي Kimai بقيمة APP_SECRET افتراضية مُضمَّنة في صورة Docker و.env.dist:
APP_SECRET=change_this_to_something_unique
في الإصدار v2.57.0 تكون signature_properties لملفات تعريف تذكّرني فارغة، مما يجعل FieldsHash ثابتًا (SHA256('')). وبالدمج مع السرّ المعروف، يمكن لأي شخص تزوير ملف تعريف KIMAI_REMEMBER صالح لأي مستخدم — بما في ذلك المدير.
APP_SECRET المعروف → حساب توقيعات HMAC-SHA256KIMAI_REMEMBER باستخدام user_id واسم مستخدم المدير| الجانب | v2.57.0 (قابلة للاستغلال) | v2.58.0 (مُرقَّعة) |
|---|---|---|
| Dockerfile | ENV APP_SECRET=change_this_to_something_unique | لا يوجد افتراضي مُضمَّن |
| entrypoint.sh | لا يوجد توليد للسرّ | يولّد bin2hex(random_bytes(32)) عند أول إقلاع |
| التخزين | غير متاح | يُحفظ في /opt/kimai/var/data/.appsecret |
| الملف | الغرض |
|---|---|
exploit.py | استغلال هدف واحد — يزوّر ملف التعريف ويصادق |
batch_pwn.py | استغلال دفعي متعدد الخيوط ضد قائمة من المضيفين |
quick_scan.py | ماسح بمرورين — تصفية سريعة ثم فحص عميق |
deep_probe.py | كشف الإصدار عبر نقاط نهاية متعددة |
probe_batch.py | فحص المضيفين من ملف لتحديد الإصدار + الثغرة |
shodan-scanner.py | تكامل Shodan لاكتشاف نسخ Kimai |
git clone https://github.com/cyeezy08/Kimai-CVE-2026-49865-POC.git
cd Kimai-CVE-2026-49865-POC
pip install -r requirements.txt
python3 exploit.py https://kimai.example.com
python3 exploit.py https://kimai.example.com admin --dump
# From a file of URLs
python3 batch_pwn.py kimai_hosts.txt results.txt 30
export SHODAN_API_KEY="your_key"
python3 shodan-scanner.py --search --output kimai_hosts.txt
python3 deep_probe.py kimai_hosts.txt versioned_results.txt
python3 quick_scan.py hosts_file.txt
requests — عميل HTTPshodan — عميل Shodan API (فقط لـ shodan-scanner.py)تُقدَّم مجموعة الأدوات هذه لاختبارات الأمان والبحث المُصرَّح بهما فقط. الوصول غير المُصرَّح به إلى أنظمة الحاسوب غير قانوني. احصل دائمًا على تصريح مناسب قبل الاختبار. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام.
MIT idk iam tired ok thx