در CakePHP، نام collation مشخص میکند پایگاه داده چگونه رشتهها را مرتب یا مقایسه کند. طبق رکورد VulnCheck، نسخههای تا 5.4.3، شامل همین نسخه، در مسیر ساخت StringExpression و IdentifierExpression این نام را بدون اعتبارسنجی لازم وارد عبارت SQL میکنند. اگر مهاجم بتواند نام collation را در سازنده یا متد setCollation تعیین کند، متن واردشده میتواند از جایگاه یک نام فراتر رود و ساختار پرسوجو را تغییر دهد. پیامد در محدودهٔ اختیارات اتصال پایگاه داده قرار میگیرد.
شرط مهم در یک برنامهٔ واقعی، رسیدن مقدار تحت کنترل کاربر به این نقطه است. وجود CakePHP در فهرست وابستگی، نسخهٔ متأثر را نشان میدهد، اما برای تعیین مواجهه باید مسیر داده بررسی شود. مثلاً برنامهای که گزینهٔ ترتیب زبانی را از درخواست کاربر میگیرد و آن را مستقیم به عبارت پایگاه داده میدهد، باید با برنامهای که فقط از یک مقدار ثابت داخلی استفاده میکند جدا ارزیابی شود. ورودی ممکن است از تنظیمات ذخیرهشده یا فرایند واردکردن اطلاعات نیز برسد و فقط محدود به فرم وب نیست.
ارزیابی و اقدام عملی
در جستوجوی کد، فراخوانیهای مربوط به collation و ساخت دو نوع عبارت را پیدا کنید، سپس منبع مقدار و قواعد انتخاب آن را مشخص کنید. برای کنترل موقت میتوان گزینههای کاربردی مانند نام زبان را به فهرست ثابت نامهای مجاز پایگاه داده نگاشت کرد. پارامترگذاری مقادیر معمول پرسوجو به تنهایی نشان نمیدهد که یک شناسه یا بخش ساختاری SQL نیز محافظت شده است. رکورد، اصلاحهای مخزن پروژه را پیوند میدهد. نسخهٔ بستهٔ مستقر را با اصلاح واقعی تطبیق دهید و برای انتخاب انتشار، مستندات رسمی شاخهٔ مورد استفاده را بخوانید.
آزمون پذیرش باید مرتبسازی مجاز برای زبانهای پشتیبانیشده و رد یک نام خارج از فهرست را پوشش دهد. این آزمون را با دادهٔ آزمایشی و حساب کماختیار انجام دهید. برای بررسی گذشته، خطاهای ساخت پرسوجو، تغییر غیرمنتظرهٔ داده و درخواستهایی که تنظیم ترتیب را تغییر میدادند کنار هم قرار دهید. خطای SQL به تنهایی اثبات بهرهبرداری نیست. ثبت نسخهٔ Composer در استقرار فعال، فهرست مسیرهای فراخوان و نتیجهٔ آزمون منفی به تیم بعدی امکان میدهد دامنهٔ بررسی را بازسازی کند.
امتیاز و منابع
امتیاز پایهٔ ثبتشده توسط VulnCheck برابر 9.2 در CVSS 4.0 است. بردار ارزیابی: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. تاریخ انتشار رکورد ۳۰ اکتبر ۲۰۲۶ است.
- رکورد رسمی برنامهٔ CVE
- دادهٔ رسمی مرجع صادرکننده، VulnCheck
- اطلاعیه یا سند اولیهٔ مرتبط
- اطلاعیه یا سند اولیهٔ مرتبط
تصویر همراه نشان CakePHP برای معرفی محصول یا سازنده است.