
この脆弱性を悪用されると、システム環境変数に保存されたユーザーの秘密情報が漏洩する可能性があります。Chromium 92 バージョンで発見され、97 バージョンで修正されたセキュリティバグです。ChromiumエンジンをベースにしたWebブラウザ(Google Chrome、Microsoft Edge、Opera、Braveなど)がありますが、Braveを除くすべてが影響を受けました。脆弱性はFile System Access API、具体的には window.showSaveFilePicker() メソッドにあります。
CVE バージョン: CVE-2022-0337
クレジット: Maciej Pulikowski
報酬: Google VRP より $10,000
ブラウザのバージョンを確認する:
chrome://version/edge://version/opera://updateWindows のみが影響を受けます。Linux と Mac は安全です。
https://www.youtube.com/watch?v=q7OIEWtalg8
高評価とチャンネル登録ありがとうございます 😀👍

let a = await window.showSaveFilePicker({suggestedName:'%username%'});
a.name;
この例では %username% 環境変数を使用しています。現在ログインしている Windows ユーザー名を返します。さらに、もっと興味深い環境変数もあります:
以下はその例です:
など...
そのため、攻撃者は対象の AWS サービスや Github アカウント、Binance トークン(資金引き出し用)などにアクセスできる可能性があります。
環境変数内のその他の秘密情報は、私のリポジトリをご覧ください:
前の例は、ローカルの Google Chrome Devtools で実行されています。
当然、攻撃者は特別な HTML ファイル(ウェブサイト)を作成して、この脆弱性を悪用することができます。
env.html - リポジトリ内の細工された特別な HTML の例です。
しかし、本当にユーザーはファイルをダウンロードする必要があるのでしょうか?
はい、ただし攻撃者は、ユーザーに 2 秒間 ENTER キーを押し続けるよう促すウェブサイトを作成し、ファイル保存ダイアログを実行・承諾させることができます。Windows のダイアログはデフォルトで保存ボタンにフォーカスがあるため、ファイルは一瞬で保存されます。
*.gif は Opera からのものです(Chrome と Edge はすでに修正済み)
結論として、ユーザーがキーボードの ENTER ボタンを 2 秒間押し続けると、システム環境変数が漏洩する可能性があります。ユーザーがシステム環境変数に重要な秘密情報(AWS サービスや Github アカウント、Binance へのアクセスなど)を保存している場合、これは重大な問題です。
私はバグを修正するという挑戦を自分に課しました。ここで強調しておきたいのは、私は C++ 開発者ではないということです 😎。
source: https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c9
解決策の一つは、suggestedName 内の % 文字を _ に置き換えることでした。これで問題が解決するはずです。

これは以下に挿入できます:
結果は以下の通り:


確かに問題は解決しましたが、コードを挿入する場所としては最適ではありませんでした 😋。しかし、自分で修正できたことは非常に嬉しかったです 😎
最終的な修正はこちら:
https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c12
このプロジェクトは教育目的のみに使用できます。許可なく対象システムに対して本ソフトウェアを使用することは違法であり、誤用による損害について作者は一切の責任を負いません。
![]() | ![]() | ![]() | ![]() | ![]() |
|---|
| 92-96 脆弱 ❗️❗️ 97+ パッチ済み(安全)✔ | 92-96 脆弱 ❗️❗️ 97+ パッチ済み(安全)✔ | 78-82 脆弱 ❗️❗️ 82 パッチ済み(安全)✔ | 安全 ✔ | 安全 ✔ |