CVE-2026-95664
Apache Camel: منتج Camel-AWS2-S3 يقيّم مفاتيح كائنات S3 غير الموثوقة من ترويسة CamelAwsS3Key كتعبيرات بسيطة
- تم النشر
- 26/10/2026
- محدث
- 02/11/2026
- تخصيص CNA
- apache
- الأدلة المرصودة
- 30/10/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:Nمنخفض · الثلاثين يومًا القادمة
- المئوية
- 57.7%
- تاريخ الموديل
- 02/11/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
ثغرة "التحييد غير السليم للعناصر الخاصة المستخدمة في عبارة لغة التعبير" ('حقن لغة التعبير') في مكوّن AWS2-s3 في Apache Camel. تؤثر هذه المشكلة على Apache Camel: من 4.8.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.2. بالنسبة للكائن الذي يقوم برفعه أو قراءته أو حذفه، يأخذ منتج camel-aws2-s3 المفتاح من ترويسة الرسالة CamelAwsS3Key ويرجع إلى خيار keyName المُهيأ على نقطة النهاية فقط عندما تكون تلك الترويسة غائبة. منذ 4.8.0، كانت AWS2S3Utils.determineKey() تمرر أيضًا القيمة الناتجة إلى لغة Simple كلما احتوت على ${ أو $simple{، بحيث يمكن للمسار استخدام مفتاح ديناميكي، وطُبّق التقييم على قيمة مأخوذة من الترويسة بالإضافة إلى الخيار المُهيأ. غير أن الترويسة ليست تهيئة للمسار: إذ يضبط مستهلك aws2-s3 الترويسة CamelAwsS3Key على التبادلات التي ينشئها على مفتاح الكائن الذي قرأه، أي اسم الكائن في الحاوية (bucket). لذلك، في مسار لا يفعل شيئًا أكثر من الاستهلاك من نقطة نهاية aws2-s3 والإنتاج إلى أخرى، كان اسم كل كائن مستهلك يصل إلى المنتج، وكان الاسم الذي يحتوي على أي من العلامتين يُقيَّم كتعبير، رغم أن مؤلف المسار لم يطلب أي تقييم، ولم تمنع تهيئة keyName على المنتج ذلك، لأن الترويسة كانت لها الأولوية. وكان المفتاح الذي ينسخه المسار إلى الترويسة من محتوى رسالة آخر يُقيَّم بالطريقة نفسها. لذلك، كان بإمكان أي شخص قادر على اختيار اسم كائن في حاوية يستهلكها مثل هذا المسار، وعادةً ما يكون أصلًا (principal) مسموحًا له بالرفع إلى تلك الحاوية، أن يجعل تعبيرات Simple من اختياره تُقيَّم في عملية Camel. يمكن للغة Simple قراءة خصائص نظام JVM ومتغيرات البيئة وخصائص التهيئة، التي غالبًا ما تحمل بيانات اعتماد، وحيثما كان camel-bean على مسار الفئات (classpath)، استدعاء أساليب على الفاصولياء (beans) في السجل (registry). أصبحت النتيجة المُقيَّمة هي المفتاح الذي استخدمه المنتج، لذا تطلب قراءة قيمة مرة أخرى بالإضافة إلى ذلك القدرة على رؤية أسماء الكائنات في الحاوية الوجهة، بينما كان استدعاء الأسلوب يسري دون ذلك؛ ومع الحاجة إلى تسمية كائن في حاوية مستهلكة، هذا هو سبب تقييم الخطورة على أنها متوسطة. مرّ اسم الحاوية عبر التقييم نفسه، لكن المستهلك لا يضع أبدًا في ترويسة الحاوية سوى الحاوية المُهيأة على نقطة نهايته الخاصة، وليس قيمة مستمدة من كائن بعيد، لذا لم يكن اسم الحاوية قابلًا للوصول بهذه الطريقة. استخدمت الإصدارات السابقة لـ 4.8.0 المفتاح من الترويسة كما هو ولم تتأثر. يُوصى المستخدمون بالترقية إلى الإصدار 4.23.0، الذي يصلح المشكلة. إذا كان المستخدمون على سلسلة الإصدارات 4.22.x، فيُقترح عليهم الترقية إلى 4.22.2. وإذا كان المستخدمون على سلسلة الإصدارات 4.18.x، فيُقترح عليهم الترقية إلى 4.18.5. وصلت خطوط الإصدارات 4.8.x إلى 4.17.x و4.19.x إلى 4.21.x إلى نهاية العمر قبل حل هذه المشكلة ولن تتلقى إصلاحًا، لذا يجب على عمليات النشر عليها الانتقال إلى إصدار مدعوم. بعد الترقية، يُستخدم المفتاح أو اسم الحاوية المقدَّم عبر ترويسة رسالة حرفيًا، لذا يجب على المسار الذي وضع تعبير Simple غير مُقيَّم في الترويسة CamelAwsS3Key أو CamelAwsS3OverrideBucketName أن يقيّمه في المسار بدلًا من ذلك، على سبيل المثال باستخدام setHeader وsimple()، أو تهيئته كخيار keyName أو bucketName لنقطة النهاية. بالنسبة لعمليات النشر التي لا يمكنها الترقية فورًا، لا تدع مفتاحًا مستمدًا من اسم كائن أو من محتوى رسالة آخر غير موثوق يصل إلى منتج aws2-s3 دون فحص: في المسارات التي تمرر التبادلات من مستهلك aws2-s3 إلى منتج aws2-s3، إما أزل ترويسة CamelAwsS3Key قبل المنتج باستخدام removeHeader(“CamelAwsS3Key”)، بحيث يُستخدم keyName المُهيأ على نقطة النهاية، أو ارفض التبادلات التي تحتوي ترويستها CamelAwsS3Key على ${ أو $simple{. تهيئة keyName وحدها ليست حلًا بديلًا، لأن الترويسة لها الأولوية عليها. كدفاع متعدد الطبقات، اسمح فقط للأصول الموثوقة بالكتابة إلى الحاويات التي تستهلكها مسارات Camel.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.