
ZTE File Manager(zte.com.cn.filer)の脆弱性に対するPoC。このファイルマネージャーの権限を利用して、他のアプリの任意のファイルを読み取ることができます。
CVE-2026-40000 の PoC です。これは ZTE File Manager (zte.com.cn.filer) の脆弱性で、このファイルマネージャーの権限で他のアプリから任意のファイルを読み取ることができます。
使い方: プロジェクトをビルドするか(または releases からアプリを入手する)、PoC をインストールして開き、開きたいファイルを入力して Open as zte.com.cn.filer ボタンを押して開こうとします。ZTE File Manager で extract all を選択し、解凍を確認すると失敗し、外部アプリを選択して開くよう促されます(Android のオープンピッカーから選択できます)。ZTE File Manager はファイルを /sdcard/Android/data/zte.com.cn.filer/cache にコピーし、一時サブディレクトリに解凍します。システム PATH 内のファイル名(またはシステム PATH 内のファイルそのもの)を開こうとすると、そのファイルは直接 /sdcard/Android/data/zte.com.cn.filer/cache にコピーされ、アプリは上書きするかどうかを尋ねてきます。また、開こうとしているファイルに ZTE File Manager がアクセスできるかどうかを即座に判別する方法もあります(アプリにそのファイルを読み取る権限がないと仮定した場合): FilePreViewActivity の左上隅、およびファイルを開くことが可能なときの戻る矢印がある上部にファイル名が表示されますが、開くのに失敗したときは名前が表示されません。
PoC の仕組み: これは次のようなことを行います adb shell am start -d content://zte.com.cn.filer.fileprovider/root_path/filetoopen zte.com.cn.filer/zte.com.cn.filer.FilePreViewActivity
このアプリには次のプロバイダーがあります
<provider
android:name="androidx.core.content.FileProvider"
android:exported="false"
android:authorities="zte.com.cn.filer.fileprovider"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
エクスポートされていなくても、次のアクティビティから呼び出すことができます
android:name="zte.com.cn.filer.FilePreViewActivity"
android:exported="true"
プロバイダーをそのアプリ自身のアクティビティの1つから呼び出しているため、エクスポートの設定は無意味になります。このアクティビティは exported が true に設定されているため、他のコンポーネントから呼び出すことができます。
明らかにこれだけでは不十分で、アプリは / または少なくとも機密パスへのアクセスを許可する必要があります。結局のところ、それは許可しています (from android:resource="@xml/provider_paths)。. を使用していますが、/ を指しているため、ファイルアプリがアクセスできる任意の場所からファイルを開くことができます
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path
name="files-path"
path="."/>
<external-path
name="external_files"
path="."/>
<root-path
name="root_path"
path="."/>
<external-cache-path
name="external_cache_path"
path="."/>
</paths>
影響を受けるデバイス: ZTE Blade A75 5G および(更新されていない限り)新しいモデルと思われます(手元にないため推測です)。Android 9 から 12 では(おそらくそれ以前の Android バージョンでも状況は同じです)、アプリに zte.com.cn.filer.FilePreViewActivity が存在しないため、脆弱ではないようです。あるいはアプリが完全に存在しない可能性もあります(少なくとも私が試した環境では標準の Google ファイルマネージャーが使用されていました)。
本件の悪用については責任を負いません。この脆弱性はローカルなもので、CVE が割り当てられており、修正済みです。心配な場合はシステムアップデートを行うか、より新しいデバイスにアップグレードしてください。