
CVE 2022-45299
#影響を受けるライブラリ:
webbrowser.rs バージョン 0.8.3 以前 https://github.com/amodm/webbrowser-rs
#概要:
このライブラリは、提供された入力が実際にURLであることを検証できません。したがって、webbrowser::open(URL) に渡される未フィルタリングのURLを制御する攻撃者は、デフォルトのエクスプローラーで開かれるローカルファイルパスを提供したり、基盤となるopenコマンドに1つの引数を渡して、任意の登録済みシステムコマンドを実行させたりすることができます。
#詳細:
webbrowser::open は、Windowsでは内部的に shellExecuteW を呼び出し、URLをopenの引数として渡します。Windowsでは、攻撃者は shellExecuteW の lpFile 引数を制御できるため、任意のローカルファイルを開くことができる可能性があります。 攻撃者が、実際にはopenへのコマンドラインスイッチであるURLを渡すことに成功した場合、任意のコマンドを起動できる可能性があります(または、1つの引数でopenが許可するあらゆる操作を実行できる可能性があります)。たとえば、webbrowser::open(".") は現在の作業ディレクトリでFinderを開きます。また、スクリプトへのパスを提供するだけでPythonスクリプトを実行でき、私は他のコンパイル言語やスクリプト言語でもこれを行うことができました。Linuxではこの問題を再現できませんでしたが、/etc/passwd のようなローカルファイルは、ファイルへのパスを提供するだけで読み込むことができます。
#脆弱性コード:

#POC:
