
Python PoC ومختبر Docker لـ CVE-2026-22599، وهو حقن SQL موثّق في واجهة برمجة التطبيقات للكتابة الخاصة بـ Content-Type Builder في Strapi عبر Knex raw defaultTo.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · CVE-2026-22599
Strapi 5.33.1 - Strapi
أنا @abraxas_null. مختبر Loopback. العميل هو CVE-2026-22599-Abraxas-Labs.py.
حقن استعلام قاعدة البيانات في واجهة الكتابة الخاصة بـ Content-Type Builder. يتحقق Yup لكنه لا يزيل column.defaultTo غير المعروف. يدمج مُنشئ المخطط [value, { isRaw: true }] في Knex defaultTo(raw()). تم إصلاحه في 5.33.2 / 4.26.1 عبر إخفاء واجهات الكتابة الخاصة بـ CTB في بيئة الإنتاج.
| CVE | CVE-2026-22599 · CVE.org |
| CWE | CWE-89 |
| CVSS | حرج: 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N |
| المنتج | Strapi |
| المتأثر | جميع الإصدارات حتى 5.33.1 (شاملة) |
| المُرقَّع | 5.33.2 / 4.26.1 وما بعدها |
| المصادقة | مصادق عليه |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
JWT لمسؤول مصادق عليه. POST إلى /content-type-builder/content-types مع تعبير DEFAULT خام. الإدراج التالي على ذلك النوع يستخدم SQL الخاص بالمهاجم. أوراكل المختبر هو GHSA22599-WITNESS على صف labitem جديد، وليس shell.
قمت بتعيين createColumn الذي ينشر attribute.column فوق defaultTo، ثم isRaw الذي يستدعي knex raw() دون تعقيم. أعددت Strapi 5.33.1، وسجلت مسؤولاً، ونشرت نوع المحتوى، وأدرجت صفاً.
ضوابط الفشل موجودة بالفعل في المختبر: eval/base64/system ليس هو الشاهد؛ reverse shell ليس هو الشاهد؛ 5.33.2 يجب ألا تحترم الصف الخام.
المنفذ 18098. Strapi 5.33.1. JWT لمسؤول. واجهة الكتابة الخاصة بـ CTB قابلة للوصول (قبل الترقيع: أيضاً في الإنتاج). ./run.sh.
استهدف فقط 127.0.0.1:18098 (أو الـ loopback الذي ربطته).
cd lab
docker compose up --force-recreate
python3 ../CVE-2026-22599-Abraxas-Labs.py
الشاهد: JSON الخاص بمدخل content-manager يحتوي على GHSA22599-WITNESS.
طرق للخسارة دون تعلم أي شيء:
قم بتحديث Strapi إلى 5.33.2 / 4.26.1 أو أحدث. أعد تشغيل CVE-2026-22599-Abraxas-Labs.py مقابل البناء المُرقَّع: يجب ألا يصل DEFAULT الخام.
github.com/strapi/strapi/security/advisories/GHSA-3xcq-8mjw-h6mx
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
GNU Affero GPL v3.0. انظر LICENSE.
يتحدث العميل إلى loopback. استخدامه ضد أنظمة لا تملكها غير مصرح به من قبل Abraxas Labs. لا ضمان.