virtualenv: `activate.bat`(バッチアクティベーター)の`--prompt`オプションにおけるコマンドインジェクションの脆弱性

`BatchActivator.quote()`関数は、入力された文字列をそのまま返します。これは、エスケープ処理が全く行われない唯一のアクティベーターです。`--prompt`オプション、`VIRTUALENV_PROMPT`環境変数、および設定ファイルはすべてプロンプトを設定し、`activate.bat`はそれを直接`@set "VAR=value"`に書き込みます。プロンプトにダブルクォーテーションが含まれている場合、その文字列はそこで途切れてしまい、その後に続く内容は、そのまま実行中のcmd.exeの構文として解釈されます。

```console
$ virtualenv --prompt 'x" & calc & "' venv
$ venv\Scripts\activate.bat
```

このコマンドを実行すると、環境がアクティベートされた瞬間に`calc`が実行されます。これは、実際のWindows環境で確認されています。信頼できない入力からプロンプトを生成する(例えば、ブランチ名を使用するCIジョブや、ユーザー入力から環境名を派生させるラッパースクリプト)場合、攻撃者は、Windows上で生成されたvenvをアクティベートするユーザーのシェル上でコードを実行できるようになります。

この問題は、21.7.12のバージョンで、この構造体内でcmd.exeが実行可能な構文として扱う文字をエスケープすることで修正されました。修正の詳細: https://github.com/pypa/virtualenv/pull/3250

影響を受けるパッケージ:
- pip (Python) virtualenv: 影響を受けるバージョンは21.7.11以下、21.7.12で修正済み。