Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-85245 — نموذج إثبات مفهوم قابل للتشغيل بـ Spring Boot يعيد إنتاج CVE-2026-85245، وهو كشف بيانات عبر التبادل في camel-thrift، مع مقارنة بين النسخة المتأثرة والنسخة المُصلحة وملاحظات التخفيف. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-85245
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتعلم والتعليم
GitHuboscerd/cve-2026-85245

CVE-2026-85245

نموذج إثبات مفهوم قابل للتشغيل بـ Spring Boot يعيد إنتاج CVE-2026-85245، وهو كشف بيانات عبر التبادل في camel-thrift، مع مقارنة بين النسخة المتأثرة والنسخة المُصلحة وملاحظات التخفيف.

عرض المستودع
منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-85245 — camel-thrift: الكشف عن البيانات عبر التبادلات (defaultInstance المشترك)

مُعيد إنتاج قابل للتشغيل لإثبات المفهوم لثغرة Apache Camel حيث كان تنسيق بيانات Thrift يُجرى فك تسلسله (unmarshal) إلى defaultInstance المشترك الخاص بالنوع الهدف بدلاً من نسخة جديدة، ويُعيد ذلك الكائن المشترك كجسم التبادل (exchange body). ولأن النسخة مشتركة على مستوى العملية بأكملها، فإن الحالة المكتوبة أثناء فك تسلسل رسالة واحدة بقيت على الكائن وكانت مرئية لكل رسالة لاحقة تستخدم النوع نفسه. الحقول الغائبة من حمولة لاحقة احتفظت بقيم الرسالة السابقة، لذا كان يمكن قراءة محتوى يخص مُرسِلًا ما أثناء معالجة رسالة مُرسِل آخر، وكان بإمكان التبادلات المتزامنة أن ترى حالة بعضها البعض المكتوبة جزئيًا. في نشر يخدم أكثر من مستأجر أو مستخدم عبر المسار نفسه، يُعد ذلك كشفًا لبيانات طرف لطرف آخر.

Spring Boot فقط. لا يوجد امتداد camel-quarkus-thrift، لذا يشحن مُعيد الإنتاج هذا وحدة Camel Spring Boot واحدة. (العيب في ThriftDataFormat الخاص بالمكوّن، وهو مستقل عن بيئة التشغيل.)

بيئة التشغيلالدليلالحزمة التقنية
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-thrift 4.22.0 (متأثر؛ مُصلَح في 4.22.1)

ما الذي يوضحه

يُعرّف المسار (route) كائن ThriftDataFormat واحدًا (مدعومًا بنوع Thrift المُولَّد Work) ويعيد استخدامه لكل رسالة، كما تفعل المسارات عادةً. يُرسل مستأجران رسالة عبره:

  • المستأجر A: Work{num1=1, op=ADD, comment="TENANT-A-SECRET-…"} — يحمل الحقل الاختياري comment بيانات حساسة؛
  • المستأجر B: Work{num1=3, op=SUBTRACT} — بدون حقل comment.

يفك المسار تسلسل رسالة المستأجر A، ثم رسالة المستأجر B.

  • المتأثر: يعود كائن المستأجر B بعد فك التسلسل حاملًا comment الخاص بالمستأجر A — فـ Thrift يُسنِد فقط الحقول الموجودة في البايتات الواردة، وقد جرى إلغاء تسلسل كلتا الرسالتين إلى (وأُعيدتا كـ) النسخة المشتركة نفسها، لذا احتفظ حقل B الغائب بقيمة A. الجسمان هما حرفيًا الكائن نفسه.
  • المُصلَح: يكون comment الخاص بالمستأجر B هو null — يحصل كل تبادل على نسخته الخاصة المُنظَّفة.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: B sees A's secret; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85245-thrift-cross-exchange-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: B's comment is null; >>> Not exploited

ملخص الثغرة الأمنية

الخاصيةالقيمة
المكوّنcamel-thrift (ThriftDataFormat.unmarshal)
CWECWE-488 (كشف عنصر بيانات لجلسة خاطئة)
الخطورةمتوسطة
ناقل الهجومرسالتان من نفس نوع Thrift عبر مسار واحد؛ رسالة لاحقة تحذف حقلاً ترث قيمة الرسالة السابقة
التأثيركشف بيانات بين التبادلات / بين المستأجرين؛ يمكن للتبادلات المتزامنة أن ترى الحالة المكتوبة جزئياً لبعضها البعض
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، من 4.19.0 قبل 4.22.1
الإصدارات المُصلحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24442
الفضلClaude Security Scan Tool

الإشعار الأمني: https://camel.apache.org/security/CVE-2026-85245.html

أنواع Thrift المولّدة (Work، Operation) هي عناصر الاختبار العامة من اختبارات camel-thrift الخاصة بـ Apache Camel.

الإصلاح

يقوم ThriftDataFormat.unmarshal الآن بإلغاء التسلسل إلى نسخة خاصة بكل تبادل: TBase instance = defaultInstance.deepCopy(); instance.clear(); — ثم يلغي تسلسل البايتات إلى instance ويعيدها. يحصل كل تبادل على كائن خاص به تم مسحه، بحيث لا ينتقل أي حقل بين الرسائل ولا يتشارك تبادلان في جسم واحد.

التخفيف إذا لم تتمكن من الترقية

انسخ الجسم بعد إلغاء تسلسله إلى نسخة جديدة فوراً بعد تشغيل صيغة البيانات، ولا تحتفظ بمراجع إلى الكائن المُعاد.

إخلاء المسؤولية

نُشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة الأمنية، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلها. "السر" هو سلسلة علامة وهمية غير فعّالة. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة