背景

Androidアプリの脆弱性を見つけてCVEをゲットしたいため,まずは情報収集から

CVE事例

概要

『株式会社アイスタイルが提供するスマートフォンアプリ「@cosme(アットコスメ)化粧品・コスメランキング&お買物」には、アクセス制限不備の脆弱性が存在します。』

想定される影響

  • 遠隔の第三者によって,任意のWebサイトにアクセスさせられる可能性がある
  • CVSSv3 3.3

脆弱性について

Custom URL Schemeを使用してリクエストされたURLにアクセスする機能が実装されており,任意のアプリからリクエストを受け取りアクセスを実行してしまう脆弱性

脆弱性の実装例

【参考: The MITRE Corporation, “CWE-939: Improper Authorization in Handler for Custom URL Scheme”, CWE List, https://cwe.mitre.org/data/definitions/939.html, (2024/12/30アクセス)】

Java

// Android
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
    if (url.substring(0,14).equalsIgnoreCase("examplescheme:")){
        if(url.substring(14,25).equalsIgnoreCase("getUserInfo")){
            writeDataToView(view, UserData);
            return false;
        }
        else{
            return true;
        }
    }
}

Androidアプリケーションは,WebView内のURLロードを傍受して,特定のURLスキームが使用された場合に特別のアクションが実行される. URL内でパラメータを渡すことで,コードへの呼び出しを開始する.

アプリケーションではコードをチェックしないため,このWebView内に読み込まれた悪意のあるWebサイトは,信頼できるサイトと同じようにAPIにアクセスすることができる.