Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-26897-EcoOnline-DeepLink — CVE-2026-26897 に関する公開アドバイザリとPoC — EcoOnline EHS Android (com.airsweb.v10) における Deep Link Bypass、バージョン 0.2.500 で修正済み | Kitploit
ツール/GitHubGitHub/iwallplace/cve-2026-26897-ecoonline-deeplink
Androidセキュリティ脆弱性分析エクスプロイトウェブアプリケーション悪用フィッシングペネトレーションテストモバイルセキュリティ学習と教育

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
iwallplace/cve-2026-26897-ecoonline-deeplink

CVE-2026-26897-EcoOnline-DeepLink

CVE-2026-26897 に関する公開アドバイザリとPoC — EcoOnline EHS Android (com.airsweb.v10) における Deep Link Bypass、バージョン 0.2.500 で修正済み

リポジトリを見る
23ヶ月前未レビュー

EcoOnline EHS (Android) — ディープリンク検証バイパス → WebView オープンリダイレクト (CVE-2026-26897)

EcoOnline EHS Android アプリケーション (com.airsweb.v10) におけるディープリンク検証バイパス CVE-2026-26897 に関する公開開示 / アドバイザリ。細工された ehs-app:// ディープリンクは https:// に書き換えられ、アプリが他のすべてのナビゲーションパスに適用しているホスト許可リストチェックなしでアプリのメイン WebView に直接読み込まれ、リモート攻撃者が信頼されたアプリケーション内で任意の攻撃者制御コンテンツを表示できるようになります(フィッシング)。

責任を持って開示され、ベンダーに確認され、バージョン 0.2.500 で修正済みです。

✅ ステータス: 修正済み

  • 分析した脆弱性のあるバージョン: com.airsweb.v10 0.2.499 (versionCode 44631)
  • 修正バージョン: 0.2.500 (Google Play で公開中)
  • ユーザーへの措置: EcoOnline EHS アプリを最新バージョンにアップデートしてください。

影響を受けるバイナリ(検証用)

ベンダーのアプリケーションはプロプライエタリであり、このリポジトリでは再配布されていません。以下の静的解析は、ここで特定されたビルドに対して実行されました。アーカイブ (例: APKPure のバージョン履歴) から正確な APK を入手し、再現前にハッシュを確認してください。

パッケージcom.airsweb.v10
versionName / versionCode0.2.499 / 44631
SHA-256

概要

説明

Android 向け EcoOnline EHS は、EHS Web プラットフォームをラップする Jetpack-Compose WebView ラッパーです。デフォルトのコンテンツは以下から読み込まれます。

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

アプリは単一の Activity (MainActivity) をエクスポートしており、これはランチャーであると同時にカスタム URL スキーム ehs-app のハンドラでもあります。ディープリンクの intent-filter の <data> 要素はスキームのみを宣言しており、ホストもパスもありません。そのため、あらゆる ehs-app://… URI がアプリにルーティングされます。

WebView ナビゲーションを保護するため、アプリはホスト許可リスト (isInternalHost) を実装し、最後に訪問した URL を復元する際に適用します。しかし、ディープリンク処理分岐ではその許可リストがまったく呼び出されません。 受信したディープリンク URI に対して、スキーム ehs-app: を https: に単純な文字列置換を行い、結果を WebView.loadUrl() に渡します。そのため、リモート攻撃者は、信頼されたアプリに任意の https:// オリジンを読み込ませるディープリンクを作成できます。

影響を受けるコンポーネント

AndroidManifest.xml (v0.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"/>   <!-- スキームのみ: ホスト、パスなし -->
    </intent-filter>
</activity>

根本原因 — MainActivityKt.WebViewPage のディープリンク分岐 (逆コンパイル、v0.2.499)

root@kitploit:~
// エクスポートされた MainActivity に配信されるインテント
if (intent.getScheme().equals("ehs-app")) {
    WebView webView = ...;
    if (webView != null) {
        Uri data = intent.getData();                       // 完全な ehs-app://… URI
        String s = String.valueOf(data);
        // 単純なスキーム書き換え: "ehs-app:" -> "https:"
        String url = StringsKt.replaceFirst(s, "ehs-app:", "https:", false, 4, null);
        webView.loadUrl(url);                              // <-- isInternalHost() チェックなし
    }
}

このパスが適用しなかった許可リスト (同じファイル内の他の場所で使用):

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 をまったく呼び出さないことです。

概念実証

2026-01-13 に com.airsweb.v10 0.2.499 に対する画面録画 PoC を制作しました。

  1. Android デバイスに影響を受けるバージョン (0.2.499) をインストールします。
  2. 被害者に細工されたディープリンクを配信します (例: 電子メール、SMS、チャット、QR、Web ページ):
    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:// コンテンツを読み込む。
  • 実際のアプリからのものに見えるログインプロンプトによるフィッシング / 資格情報窃取。
  • UI スプーフィングと一般的なソーシャルエンジニアリングの強化 (悪意のあるページがアプリの信頼を継承する)。

CVSS v3.1 (研究者の推定 — 公開前に確定): AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N → 6.3 (Medium) (Scope:Changed の議論が可能であり、信頼されていないコンテンツが信頼されたアプリコンテキスト内で実行される)。

修正

com.airsweb.v10 0.2.500 以降にアップデートしてください。 推奨される修正:

  • loadUrl() の前に ディープリンク URL に isInternalHost() (または同等の許可リスト) を適用する。
  • ロードする URL をスキームの盲目的な書き換えで導出せず、スキーム と ホストを検証する。
  • ディープリンク intent-filter を明示的な android:host / android:pathPrefix で制約する。
  • internalDomains 正規表現を強化する (ホストを完全にアンカーし、部分一致を避ける)。

開示のタイムライン

参考文献

  • CVE-2026-26897 (MITRE CVE レコード)
  • Google Play 上の EcoOnline EHS — https://play.google.com/store/apps/details?id=com.airsweb.v10
  • ベンダー — https://www.ecoonline.com/

謝辞

Ahmet Mersin によって発見および報告されました — GitHub @iwallplace、HackerOne iwallplace。

ツールをダウンロード
e9e8a38d133cb9da9901caf03c4a7a033c75ad1f32ba0539260e47d5dd5068c0
ソースAPKPure — 「EcoOnline EHS」バージョン履歴
フィールド値
CVE IDCVE-2026-26897
ベンダーEcoOnline (「EcoOnline Global」) — https://www.ecoonline.com/
製品Android 向け 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 アプリ内で任意の攻撃者制御の Web コンテンツが表示され(例: 偽のログイン画面)、アプリのドメイン許可リストをバイパスする
発見者Ahmet Mersin
日付イベント
2026-01-130.2.499 に対する PoC を記録
2026-01-15MITRE に CVE リクエストを提出 (チケット scr1979357)
2026-02-27MITRE により CVE-2026-26897 が割り当てられる
公開前ベンダーが確認; 修正は 0.2.500 でリリース
2026-03-04MITRE に公開リクエストを送信
2026-05-06MITRE が完全な公開開示 URL を要求
2026-06-03公開アドバイザリを公開 (このリポジトリ)