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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-78164 — إثبات مفهوم قابل للتشغيل لـ CVE-2026-78164، يُظهر تسريب الأسرار عندما يقوم منتجو Apache Camel HTTP بحل عناصر نائبة للخصائص في رؤوس CamelHttpUri المقدَّمة من المهاجم. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-78164
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتسريب البياناتجمع المعلوماتالتعلم والتعليم
GitHuboscerd/cve-2026-78164

CVE-2026-78164

إثبات مفهوم قابل للتشغيل لـ CVE-2026-78164، يُظهر تسريب الأسرار عندما يقوم منتجو Apache Camel HTTP بحل عناصر نائبة للخصائص في رؤوس CamelHttpUri المقدَّمة من المهاجم.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-78164 — منتجو Camel HTTP يحلّون عناصر نائبة للخصائص في رؤوس URI الموردة من الرسائل

مُعيد إنتاج إثبات مفهوم قابل للتشغيل لثغرة Apache Camel حيث تسمح عائلات منتج HTTP لرسالة واردة بتجاوز URI الخاص بنقطة النهاية عبر رؤوس CamelHttpUri وCamelRestHttpUri، ثم تمرير ذلك النص المورد من الرسالة عبر CamelContext.resolvePropertyPlaceholders() قبل استخدامه.

حلّ العناصر النائبة للخصائص هو آلية لحل الإعدادات، وليس خطوة من خطوات تحليل URI. فهو يصل إلى متغيرات بيئة نظام التشغيل، وخصائص نظام JVM، وكل PropertiesFunction على مسار الفئة (بما في ذلك دوال الأسرار الخاصة بـ AWS وAzure وGCP وHashiCorp وIBM وCyberArk وKubernetes) — وعبر camel-bean — إلى استدعاء دالة بلا وسائط على أي bean في السجل. وتطبيقه على محتوى Exchange متأثر بالمهاجم يحوّل سلسلة URI إلى سياق لتقييم الإعدادات والـ bean. ولم يشترك مؤلف المسار في أي من ذلك: كان to("http://backend/api") ثابتًا عاديًا كافيًا.

بيئة التشغيلالدليلالحزمة
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-http 4.22.0 (متأثر؛ مُصلح في 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-http 3.29.0 (Camel 4.15.0، متأثر)

يعود هذا السلوك إلى ما قبل سلسلة 4.x (إذ يعود إلى camel-http4 / camel-netty4)، لذا فإن كل إصدار متأثر وCamel 4.15.0 في أحدث Camel Quarkus عرضة للثغرة. يأتي الإصلاح في Camel 4.18.5 / 4.22.1 / 4.23.0؛ تشغّل وحدة Spring Boot كلاً من البناء المتأثر (4.22.0) والبناء المُصلح (4.22.1). ولا توجد نسخة صادرة من Camel Quarkus تتضمن بعد نسخة Camel مُصلحة.

ما الذي يوضحه

المسار هو to("http://127.0.0.1:9100/collect") ثابت عادي يشير إلى جامع محلي. يضبط المهاجم رأس CamelHttpUri إلى URI يحمل رمزًا نائبًا لخاصية — دون معرفة قيمة السر، بل بمجرد تسمية المفتاح:

CamelHttpUri: http://127.0.0.1:9100/collect?leak={{sys:cve78164.secret}}

يقوم التطبيق بتهيئة خاصية نظام JVM ‏cve78164.secret لتكون بديلاً عن أي قيمة إعدادات أو سر من خزنة أسرار. في النسخة المتأثرة يقوم المنتج بحل العنصر النائب قبل إرسال الطلب، لذا يرى المجمِّع السر في الاستعلام الصادر. أما في النسخة المُصلحة فيُمرَّر الرمز حرفيًا.

cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

الناتج المتوقع على البناء المتأثر:

Outbound request observed by the collector:
    GET /collect?leak=S3CR3T-cve78164-do-not-leak

>>> PROVEN: the {{sys:...}} placeholder in the attacker-supplied CamelHttpUri was resolved,
>>> expanding the secret 'S3CR3T-cve78164-do-not-leak' into the outbound request.

في البنية المُصلحة، يرى المُجمِّع بدلاً من ذلك GET /collect?leak={{sys:cve78164.secret}} (نص حرفي، غير مُستبدَل).

ملخص الثغرة

الخاصيةالقيمة
المكوّنcamel-http / camel-http-common / camel-vertx-http / camel-undertow / camel-netty-http
CWECWE-1336 (التحييد غير السليم للعناصر الخاصة المستخدمة في محرك القوالب)، CWE-200 (كشف المعلومات)
الخطورةعالية
ناقل الهجومترويسة تجاوز CamelHttpUri / CamelRestHttpUri تحمل رمز {{...}}؛ لا يحدّ bridgeEndpoint من النص الأساسي/الترويسات، وتقوم عدة مستهلكين بتعبئة CamelHttpUri من سطر الطلب كميزة وكيل عكسي
التأثيرتوسيع متغيرات البيئة وخصائص النظام وأسرار الخزنة (vault) داخل الطلب الصادر؛ استدعاء حبوب السجل (registry beans) بدون وسائط؛ أوراكل (oracle) لمعرفة ما إذا كان مفتاح إعدادات مضبوطًا أم لا عبر الخطأ المُعاد
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1 (السلوك يسبق 4.x)
الإصدارات المُصلحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24418
الفضل[email protected]

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

الإصلاح

تتم إزالة استدعاء resolvePropertyPlaceholders() لكل رسالة في كل موقع متأثر، لذا فإن رمز {{...}} الذي يظهر فقط في CamelHttpUri أو CamelRestHttpUri يُعامَل الآن كجزء حرفي من URI. لا تتأثر العناصر النائبة (placeholders) في URI الخاص بنقطة النهاية الخاصة بالمسار — إذ يتم استبدالها مرة واحدة، وقت البناء، عند إنشاء نقطة النهاية.

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

أزل ترويسات التجاوز عند حدود الثقة قبل المنتج (producer) باستخدام removeHeader("CamelHttpUri") و removeHeader("CamelRestHttpUri")، أو اضبط skipControlHeaders=true على نقاط نهاية camel-http (المكوّن الوحيد الذي يوفّر هذا الخيار). bridgeEndpoint=true ليس حلاً بديلاً. طبّق HeaderFilterStrategy صارمًا للوارد على المستهلكين المعرّضين لمرسلين غير موثوقين، واسترجع الأسرار عبر خزنة (vault) بدلاً من متغيرات البيئة/خصائص النظام التي يمكن لعنصر نائب أن يسمّيها.

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

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

تنزيل الأداة