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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-26897-EcoOnline-DeepLink — إعلان عام وإثبات المفهوم لـ CVE-2026-26897 — تجاوز الروابط العميقة في EcoOnline EHS Android (com.airsweb.v10)، تم إصلاحه في 0.2.500 | Kitploit
أدوات/GitHubGitHub/iwallplace/cve-2026-26897-ecoonline-deeplink
أمان أندرويدتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتصيد الاحتيالياختبار الاختراقأمن الجوالالتعلم والتعليم

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
iwallplace/cve-2026-26897-ecoonline-deeplink

CVE-2026-26897-EcoOnline-DeepLink

إعلان عام وإثبات المفهوم لـ CVE-2026-26897 — تجاوز الروابط العميقة في EcoOnline EHS Android (com.airsweb.v10)، تم إصلاحه في 0.2.500

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

EcoOnline EHS (أندرويد) — تجاوز التحقق من الرابط العميق → إعادة توجيه مفتوحة في WebView (CVE-2026-26897)

إفصاح عام / تنبيه لـ CVE-2026-26897، وهو تجاوز للتحقق من الرابط العميق في تطبيق EcoOnline EHS لأندرويد (com.airsweb.v10). يتم إعادة كتابة رابط عميق مُصمم ehs-app:// إلى https:// وتحميله مباشرة في WebView الرئيسي للتطبيق بدون فحص قائمة السماح بالمضيف الذي يطبقه التطبيق على كل مسار تنقل آخر، مما يسمح لمهاجم عن بعد بعرض محتوى عشوائي يتحكم فيه داخل التطبيق الموثوق (تصيد).

تم الكشف عنها بمسؤولية، اعترف بها البائع، و تم إصلاحها في الإصدار 0.2.500.

✅ الحالة: تم الإصلاح

  • الإصدار الضعيف الذي تم تحليله: com.airsweb.v10 0.2.499 (versionCode 44631)
  • الإصدار المُصلح: 0.2.500 (متوفر على Google Play)
  • إجراء للمستخدمين: تحديث تطبيق EcoOnline EHS إلى أحدث إصدار.

الباينري المتأثر (للتحقق)

تطبيق البائع مملوك و لا يتم إعادة توزيعه في هذا المستودع. تم إجراء التحليل الثابت أدناه على البناء المحدد هنا — احصل على APK الدقيق من أرشيف (مثل سجل إصدارات APKPure) وتحقق من التجزئة الخاصة به قبل إعادة الإنتاج:

الحزمةcom.airsweb.v10
اسم الإصدار / كود الإصدار0.2.499 / 44631

ملخص

الوصف

تطبيق EcoOnline EHS لأندرويد هو غلاف WebView يعتمد على Jetpack Compose لمنصة EHS على الويب. يتم تحميل محتواه الافتراضي من:

root@kitploit:~
startUrl = "https://ehsmobilelanding.ecoonline.net/"

يُصدر التطبيق نشاطًا واحدًا (MainActivity) وهو كل من المُطلق ومعالج مخطط URL المخصص ehs-app. يُصرّح عنصر <data> في intent-filter للرابط العميق بمخطط فقط — بدون مضيف وبدون مسار — لذلك يتم توجيه أي URI ehs-app://… إلى التطبيق.

لحماية التنقل في WebView، يطبق التطبيق قائمة سماح المضيف (isInternalHost) ويطبقها عند استعادة آخر URL تم زيارته. ومع ذلك، فإن فرع معالجة الرابط العميق لا يستدعي قائمة السماح تلك على الإطلاق. يأخذ URI الرابط العميق الوارد، ويقوم باستبدال سلسلة نصية ساذج للمخطط ehs-app: → https:، ثم يستدعي WebView.loadUrl() على النتيجة. لذلك يمكن لمهاجم عن بعد إنشاء رابط عميق يتسبب في تحميل التطبيق الموثوق لأصل https:// عشوائي.

المكون المتأثر

AndroidManifest.xml (الإصدار 0.2.499) — رابط عميق مُصدّر، مخطط فقط

root@kitploit:~
<activity
    android:name="com.airsweb.v10.MainActivity"
    android:exported="true" ... >
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <data android:scheme="ehs-app"/>   <!-- scheme only: no host, no path -->
    </intent-filter>
</activity>

السبب الجذري — فرع الرابط العميق في MainActivityKt.WebViewPage (مفكك، الإصدار 0.2.499)

root@kitploit:~
// intent delivered to the exported MainActivity
if (intent.getScheme().equals("ehs-app")) {
    WebView webView = ...;
    if (webView != null) {
        Uri data = intent.getData();                       // full ehs-app://… URI
        String s = String.valueOf(data);
        // naïve scheme rewrite: "ehs-app:" -> "https:"
        String url = StringsKt.replaceFirst(s, "ehs-app:", "https:", false, 4, null);
        webView.loadUrl(url);                              // <-- NO isInternalHost() CHECK
    }
}

قائمة السماح التي يفشل هذا المسار في تطبيقها (تُستخدم في مكان آخر في نفس الملف):

root@kitploit:~
private static final Regex internalDomains =
        new Regex("^[-\\w]*\\.(airsweb)|(ecoonline)\\.net");
private static final List<String> excludeDomainsStartingWith =
        listOf("passport", "login", "auth");

public static boolean isInternalHost(String host) {
    for (String p : excludeDomainsStartingWith)
        if (host.startsWith(p)) return false;
    return internalDomains.containsMatchIn(host);
}

ملاحظة ثانوية: التعبير النمطي internalDomains نفسه ضعيف (تناوب مكسور + مطابقة جزئية containsMatchIn)، لكن المشكلة الأساسية هي أن فرع الرابط العميق لا يستدعي isInternalHost على الإطلاق.

إثبات المفهوم

تم إنتاج تسجيل شاشة لـ PoC في 2026-01-13 ضد com.airsweb.v10 0.2.499.

  1. قم بتثبيت الإصدار المتأثر (0.2.499) على جهاز أندرويد.
  2. قم بتوصيل رابط عميق مُصمم للضحية (مثل عبر البريد الإلكتروني، رسائل SMS، الدردشة، رمز QR، أو صفحة ويب):
    root@kitploit:~
    ehs-app://attacker.example/login
    
  3. عندما يفتحه الضحية، يقوم MainActivity بإعادة كتابة المخطط ويقوم WebView بتحميل:
    root@kitploit:~
    https://attacker.example/login
    
    داخل تطبيق EcoOnline EHS الموثوق — لا يتم إجراء فحص قائمة السماح.
  4. يتم عرض صفحة المهاجم بمظهر وإطار التطبيق الشرعي ويمكنها، على سبيل المثال، تقديم شاشة دخول EHS مزيفة لسرقة بيانات الاعتماد.

تم تضمين عرض توضيحي حميد، غير جامع للبيانات لعملية إعادة التوجيه في poc/redirect-proof.html (الاستخدام: poc/README.md). يثبت أنه يتم تحميل أصل عشوائي داخل التطبيق الموثوق، دون أي مدخلات، ودون التقاط بيانات اعتماد، ودون طلبات شبكة.

في PoC الأصلي، استضاف الباحث صفحة هبوط مشابهة حميدة فقط لإظهار إعادة التوجيه. يوثق هذا التنبيه الثغرة لـ أغراض دفاعية / إفصاحية ويحتوي عمدًا على لا صفحة تصيد ولا كود لسرقة بيانات الاعتماد.

التأثير

  • تحميل محتوى https:// عشوائي يتحكم به المهاجم داخل سياق التطبيق الموثوق.
  • تصيد / سرقة بيانات الاعتماد عبر موجه تسجيل دخول يبدو أنه من التطبيق الحقيقي.
  • تزييف واجهة المستخدم ورفع مستوى الهندسة الاجتماعية العامة (ترث الصفحة الخبيثة ثقة التطبيق).

CVSS v3.1 (تقدير الباحث — يُنهى قبل النشر): AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N → 6.3 (متوسط) (يمكن تقديم حجة النطاق: متغير، حيث يتم تنفيذ محتوى غير موثوق في سياق التطبيق الموثوق).

المعالجة

قم بالتحديث إلى com.airsweb.v10 0.2.500 أو أحدث. الإصلاحات الموصى بها:

  • تطبيق isInternalHost() (أو قائمة سماح مكافئة) على URLs الروابط العميقة قبل loadUrl().
  • لا تستنتج الـ URL المحمل عن طريق إعادة كتابة المخطط بشكل أعمى؛ تحقق من المخطط و المضيف.
  • قيّد intent-filter للرابط العميق باستخدام android:host/android:pathPrefix صريح.
  • عزز التعبير النمطي internalDomains (ثبت المضيف بالكامل؛ تجنب المطابقات الجزئية).

الجدول الزمني للإفصاح

المراجع

  • سجل CVE-2026-26897 (MITRE)
  • EcoOnline EHS على Google Play — https://play.google.com/store/apps/details?id=com.airsweb.v10
  • البائع — https://www.ecoonline.com/

الإسناد

تم اكتشافها والإبلاغ عنها بواسطة Ahmet Mersin — GitHub @iwallplace, HackerOne iwallplace.

تنزيل الأداة
SHA-256
e9e8a38d133cb9da9901caf03c4a7a033c75ad1f32ba0539260e47d5dd5068c0
المصدرAPKPure — سجل إصدارات "EcoOnline EHS"
الحقلالقيمة
CVE IDCVE-2026-26897
البائعEcoOnline ("EcoOnline Global") — https://www.ecoonline.com/
المنتجEcoOnline EHS لأندرويد (com.airsweb.v10)
الإصدار المتأثر0.2.499 (versionCode 44631)
الإصدار المُصلح0.2.500
نوع الثغرةالتحقق غير السليم في معالج مخطط URL مخصص (تجاوز الرابط العميق) → تحميل WebView غير مُتحقق منه / إعادة توجيه مفتوحة
CWECWE-939 (تخويل غير صحيح في معالج مخطط URL مخصص); ذات صلة CWE-749
المكون المتأثرcom.airsweb.v10.MainActivity (معالج الرابط العميق المُصدّر) وفرع الرابط العميق في MainActivityKt.WebViewPage
المخطط المخصصehs-app://
نوع الهجومعن بعد (يتطلب تفاعل المستخدم — فتح رابط مُصمم)
التأثيرتصيد / هندسة اجتماعية: عرض محتوى ويب عشوائي يتحكم به المهاجم داخل تطبيق EcoOnline EHS الموثوق (مثل شاشة دخول مزيفة)، متجاوزًا قائمة السماح بالنطاقات للتطبيق
المكتشفAhmet Mersin
التاريخالحدث
2026-01-13تم تسجيل PoC ضد الإصدار 0.2.499
2026-01-15تم تقديم طلب CVE إلى MITRE (التذكرة scr1979357)
2026-02-27تم تعيين CVE-2026-26897 من قبل MITRE
قبل النشراعترف البائع؛ تم إصدار الإصلاح في 0.2.500
2026-03-04تم إرسال طلب النشر إلى MITRE
2026-05-06طلب MITRE عنوان URL كامل للإفصاح العام
2026-06-03تم نشر التنبيه العام (هذا المستودع)