ソースコードを開いたときにファイル漏洩を引き起こすコードエディターへの攻撃のデモンストレーション

VSCode コード エディターを攻撃する方法が実証され、特別に設計されたソース コードをエディターで開くと、現在のユーザーの権限内で任意のファイルを転送できるようになります。 このデモでは、手続き型マクロを使用する Rust コードを開くと、ホスト 127.0.0.1:8080 への接続が確立され、ユーザーの SSH キーを使用してファイル「~/.ssh/id_rsa」の内容が送信されます。

妥協するには、プロジェクトで他のアクションを実行せずに、コードを含むファイルを開くだけで十分です。 この例が機能するには、VSCode には Rust-analyzer プラグイン (標準の Rustc コンパイラー上のバインディング) と、Rust 言語のコードを操作するためのツールがシステム内に存在する必要があります。 この問題は、最初のコード分析中の手続き型マクロの拡張に関連しています。 同様の効果は、「cargo build」コマンドを使用してコンパイル時に達成することもできます。

この問題は他のコード エディターやプログラミング言語に影響を与える可能性があることに注意してください。 VSCode と Rust-analyze は、攻撃ベクトルを示すためにのみ使用されます。 理論的には、構文拡張を作成してコンパイル時にコードを実行できるようにする手続き型マクロを公開するコード エディターは、この問題の影響を受けやすくなります。 研究者は当初、コードのコンパイル中に悪意のあるアクションが発生する可能性を調査しましたが、ソース コードがコード エディターで処理されるときに手続き型マクロが展開されることを発見しました。 この攻撃はおそらく他のプログラミング言語にも影響を与える可能性があり、たとえば Java では、注釈処理が同様の方法で操作される可能性があります。



出所: オープンネット.ru

コメントを追加します