
مدقق Go غير إتلافي يتحقق مما إذا كانت نسخة Camaleon CMS تطبق إصلاح التفويض الخاص بـ CVE-2026-102261 في نقطة نهاية قص الوسائط.
يحتوي هذا المشروع على أداة تحقق غير مدمّرة لتأكيد ما إذا كانت نسخة مصرّح بها من Camaleon CMS تطبّق التفويض المُقدَّم في الإصدار 2.9.3.
تؤثر المشكلة على POST /admin/media/crop في Camaleon CMS حتى الإصدار 2.9.2. كان بإمكان مستخدم يمتلك :manage, :media ولكن بدون :manage, :users تزويد معرّف مستخدم آخر في saved_avatar وتحقيق كتابة صورة رمزية خارج الكائن المصرّح له. يتطلب الإصلاح :manage, :users لأي هدف غير المستخدم نفسه.
ترسل أداة التحقق طلب POST واحدًا موثّقًا يحتوي على:
saved_avatar لحساب قابل للتخلص منه مختلف عن الحساب الموثّق؛cp_img_path غير موجود عمدًا.في الإصدار المُصحَّح، يحدث التفويض قبل أي معالجة للملف ويستجيب التطبيق بإعادة توجيه (عادةً 302). في إصدار قديم، لا يُرفض الطلب في هذه المرحلة وتكون النتيجة فقط INCONCLUSIVO: لا يرسل هذا البرنامج أي صورة، ولا يقرأ أي بيانات، ولا يحاول تعديل أي صورة رمزية.
أنشئ حسابين تجريبيين على نفس الموقع:
:manage, :media ولكن بدون :manage, :users؛احصل على ملف تعريف جلسة الحساب الأول ونفّذ:
go test ./...
go run . \
--i-own-this-lab \
--url http://127.0.0.1:3000 \
--cookie '_session_id=COLOQUE_A_SESSAO_DE_TESTE_AQUI' \
--nonself-user-id 42
تعني PROTECTED أن نقطة النهاية رفضت العملية قبل معالجة مسار الصورة. أما INCONCLUSIVE فتطلب التحقق من الإصدار المثبّت وتحديثه؛ وهي ليست تأكيدًا للاستغلال.
حدّث إلى Camaleon CMS 2.9.3 أو أحدث. الترقيع هو c143e145caa600947e70a240e87f2fed889149d3.