CVE-2026-55772 in CedarJava
الملخص
بحسب VulDB • 14/07/2026
CedarJava هو تنفيذ مفتوح المصدر للغة سياسات Cedar، ويُستخدم لاتخاذ قرارات تفويض دقيقة (fine-grained authorization). في الإصدارات السابقة لـ 2.3.6 و3.4.1 و4.9.0، وفي ظل ظروف معينة، قد يسمح التعامل غير السليم مع المدخلات بحدوث خلط بين أنواع الكيانات والسجلات (Record-to-Entity type confusion) عبر حدود واجهة البرمجة الثنائية الخارجية (FFI) بين Java وRust. ترسل CedarJava طلبات التفويض إلى مُقيِّم cedar-policy المكتوب بلغة Rust بصيغة JSON. تحجز بروتوكول JSON أشكال الكائنات أحادية المفتاح السحرية (__entity و__extn) للإشارة إلى الكيانات وقيم الامتدادات. عند تسلسل كائن CedarMap، لا توجد عملية تحقق تمنع استخدام هذه المفاتيح المحجوزة. إذا قام خدمة متكاملة ببناء CedarMap من بيانات مفاتيح/قيم مقدمة من المُدخِل (مثل رؤوس الطلب، أو البيانات الوصفية المحددة من قبل المستخدم، أو علامات الموارد)، فقد يؤدي ذلك إلى تفسير مُقيِّم Rust للسجل على أنه إشارة إلى كيان في حال سيطرة طرف خبيث على تلك المفاتيح. يتطلب هذا الثغرة أن تقوم الخدمة المتكاملة ببناء CedarMap حيث يسيطر طرف ما على المفاتيح، ويجب أن تشير سياسة معينة إلى هذه القيمة في شرط when/unless. تم إصلاح هذه الثغرة الأمنية في الإصدارات 2.3.6 و3.4.1 و4.9.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.