Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-26897-EcoOnline-DeepLink — Öffentliches Advisory & PoC für CVE-2026-26897 — Deep-Link-Bypass in EcoOnline EHS Android (com.airsweb.v10), behoben in 0.2.500 | Kitploit
Tools/GitHubGitHub/iwallplace/cve-2026-26897-ecoonline-deeplink
Android-SicherheitSchwachstellenanalyseExploitationWebanwendungs-ExploitationPhishingPenetrationstestsMobile SicherheitLernen & Bildung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
iwallplace/cve-2026-26897-ecoonline-deeplink

CVE-2026-26897-EcoOnline-DeepLink

Öffentliches Advisory & PoC für CVE-2026-26897 — Deep-Link-Bypass in EcoOnline EHS Android (com.airsweb.v10), behoben in 0.2.500

Repository anzeigen
28vor 4 MonatenNoch nicht geprüft

EcoOnline EHS (Android) — Umgehung der Deep-Link-Validierung → WebView Open Redirect (CVE-2026-26897)

Öffentliche Offenlegung / Advisory für CVE-2026-26897, eine Umgehung der Deep-Link-Validierung in der Android-Anwendung EcoOnline EHS (com.airsweb.v10). Ein manipulierter ehs-app://-Deep-Link wird zu https:// umgeschrieben und direkt in das Haupt-WebView der App geladen, ohne die Host-Allowlist-Prüfung, die die App bei jedem anderen Navigationspfad anwendet. Dadurch kann ein entfernter Angreifer beliebige, vom Angreifer kontrollierte Inhalte innerhalb der vertrauenswürdigen Anwendung rendern (Phishing).

Verantwortungsvoll offengelegt, vom Hersteller bestätigt und in Version 0.2.500 behoben.

✅ Status: BEHOBEN

  • Analysierte verwundbare Version: com.airsweb.v10 0.2.499 (versionCode 44631)
  • Behobene Version: 0.2.500 (live bei Google Play)
  • Handlungsempfehlung für Benutzer: Aktualisieren Sie die EcoOnline-EHS-App auf die neueste Version.

Betroffene Binärdatei (zur Überprüfung)

Die Anwendung des Herstellers ist proprietär und wird in diesem Repository nicht weitergegeben. Die folgende statische Analyse wurde an dem hier angegebenen Build durchgeführt. Besorgen Sie die genaue APK aus einem Archiv (z. B. APKPure-Versionsverlauf) und überprüfen Sie vor der Reproduktion deren Hash:

Paketcom.airsweb.v10
versionName / versionCode0.2.499 / 44631
SHA-256e9e8a38d133cb9da9901caf03c4a7a033c75ad1f32ba0539260e47d5dd5068c0
QuelleAPKPure — „EcoOnline EHS" Versionsverlauf

Zusammenfassung

FeldWert
CVE-IDCVE-2026-26897
HerstellerEcoOnline („EcoOnline Global") — https://www.ecoonline.com/
ProduktEcoOnline EHS für Android (com.airsweb.v10)
Betroffene Version0.2.499 (versionCode 44631)
Behobene Version0.2.500
SchwachstellentypFehlerhafte Validierung in einem Handler für ein benutzerdefiniertes URL-Schema (Deep-Link-Umgehung) → unvalidiertes WebView-Laden / Open Redirect
CWECWE-939 (Improper Authorization in Handler for Custom URL Scheme); verwandte CWE-749
Betroffene Komponentecom.airsweb.v10.MainActivity (exportierter Deep-Link-Handler) und der Deep-Link-Zweig in MainActivityKt.WebViewPage
Benutzerdefiniertes Schemaehs-app://
AngriffsartRemote (erfordert Benutzerinteraktion — Öffnen eines manipulierten Links)
AuswirkungPhishing / Social Engineering: beliebige, vom Angreifer kontrollierte Webinhalte werden innerhalb der vertrauenswürdigen EcoOnline-EHS-App gerendert (z. B. ein gefälschtes Login), unter Umgehung der Domain-Allowlist der App
EntdeckerAhmet Mersin

Beschreibung

EcoOnline EHS für Android ist ein Jetpack-Compose-WebView-Wrapper um die EHS-Webplattform. Der Standardinhalt wird von folgender URL geladen:

startUrl = "https://ehsmobilelanding.ecoonline.net/"

Die App exportiert eine einzelne Activity (MainActivity), die sowohl der Launcher als auch der Handler für das benutzerdefinierte URL-Schema ehs-app ist. Das <data>-Element des Deep-Link-intent-filter deklariert nur ein Schema — keinen Host und keinen Pfad — daher wird jede ehs-app://…-URI an die App weitergeleitet.

Um die WebView-Navigation zu schützen, implementiert die App eine Host-Allowlist (isInternalHost) und wendet sie beim Wiederherstellen der zuletzt besuchten URL an. Allerdings ruft der Deep-Link-Behandlungszweig diese Allowlist überhaupt nicht auf. Er nimmt die eingehende Deep-Link-URI, führt eine naive Zeichenkettenersetzung des Schemas ehs-app: → https: durch und ruft WebView.loadUrl() mit dem Ergebnis auf. Ein entfernter Angreifer kann daher einen Deep-Link konstruieren, der die vertrauenswürdige App dazu bringt, eine beliebige https://-Origin zu laden.

Betroffene Komponente

AndroidManifest.xml (v0.2.499) — exportierter Deep-Link (nur Schema)

<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>

Grundursache — Deep-Link-Zweig in MainActivityKt.WebViewPage (dekompiliert, v0.2.499)

// 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
    }
}

Die Allowlist, die dieser Pfad nicht anwendet (sie wird an anderer Stelle in derselben Datei verwendet):

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);
}

Sekundäre Anmerkung: Der reguläre Ausdruck internalDomains ist selbst schwach (fehlerhafte Alternation + Substring-Abgleich via containsMatchIn), aber das Hauptproblem ist, dass der Deep-Link-Zweig isInternalHost überhaupt nie aufruft.

Proof of Concept

Ein PoC als Bildschirmaufnahme wurde am 2026-01-13 gegen com.airsweb.v10 0.2.499 erstellt.

  1. Installieren Sie die betroffene Version (0.2.499) auf einem Android-Gerät.
  2. Übermitteln Sie dem Opfer einen manipulierten Deep-Link (z. B. per E-Mail, SMS, Chat, QR-Code oder über eine Webseite):
    ehs-app://attacker.example/login
    
  3. Wenn das Opfer ihn öffnet, schreibt MainActivity das Schema um und das WebView lädt:
    https://attacker.example/login
    
    innerhalb der vertrauenswürdigen EcoOnline-EHS-App — es wird keine Allowlist-Prüfung durchgeführt.
  4. Die Angreiferseite wird mit dem Aussehen und der Benutzeroberfläche der legitimen App gerendert und kann beispielsweise ein gefälschtes EHS-Login anzeigen, um Anmeldedaten zu erbeuten.

Eine harmlose Demonstration ohne Datenerfassung der Weiterleitung ist in poc/redirect-proof.html enthalten (Verwendung: poc/README.md). Sie beweist, dass eine beliebige Origin innerhalb der vertrauenswürdigen App geladen wird — ohne Eingaben, ohne Erfassung von Anmeldedaten und ohne Netzwerkanfragen.

Im ursprünglichen PoC hostete der Forscher eine harmlose, nachempfundene Landingpage ausschließlich zur Demonstration der Weiterleitung. Dieses Advisory dokumentiert die Schwachstelle zu defensiven Zwecken / Offenlegungszwecken und enthält absichtlich keine Phishing-Seite und keinen Code zur Erfassung von Anmeldedaten.

Auswirkung

Tool herunterladen