ファイルの上書きや独自のコードの実行を可能にする Git の脆弱性

Git 2.40.1、2.39.3、2.38.5、2.37.7、2.36.6、2.35.8、2.34.8、2.33.8、2.32.7、2.31.8、および 2.30.9 の修正リリースが公開されました。XNUMX 、XNUMXつの脆弱性が修正されました。 Debian、Ubuntu、RHEL、SUSE/openSUSE、Fedora、Arch、FreeBSD ページのディストリビューションでパッケージ更新のリリースを追跡できます。 脆弱性から保護するための回避策として、テストされていない外部パッチを使用する場合は「git apply --reject」コマンドの実行を避け、「git submodule deinit」、「git」を実行する前に $GIT_DIR/config の内容を確認することをお勧めします。信頼できないリポジトリを扱う場合は、「config --rename-section」と「git config --remove-section」を使用します。

脆弱性 CVE-2023-29007 により、$GIT_DIR/config 構成ファイルの設定を置き換えることができます。これは、core.pager、core.editor、および core.sshCommand ディレクティブで実行可能ファイルへのパスを指定することによって、システム内でコードを実行するために使用できます。 この脆弱性は、構成ファイルの名前を変更したりセクションを削除したりするときに、非常に長い構成値が新しいセクションの始まりとして扱われることによる論理エラーによって引き起こされます。 実際には、初期化中に $GIT_DIR/config ファイルに保存される非常に長いサブモジュール URL を指定することで、悪用する値の置換を実現できます。 これらの URL は、「git submodule deinit」経由で削除しようとすると、新しい設定として解釈される可能性があります。

脆弱性 CVE-2023-25652 により、特別に作成されたパッチが「git apply --reject」コマンドで処理されるときに、作業ツリー外のファイルの内容が上書きされる可能性があります。 シンボリック リンクを介してファイルに書き込もうとする「git apply」コマンドを使用して悪意のあるパッチを実行しようとすると、操作は拒否されます。 Git 2.39.1 では、シンボリックリンクの操作保護が拡張され、シンボリックリンクを作成して書き込みを試みるパッチをブロックするようになりました。 検討されている脆弱性の本質は、ユーザーが「git apply -reject」コマンドを実行してパッチの拒否された部分を拡張子「.rej」のファイルとして書き込むことができ、攻撃者はそれを実行できることを Git が考慮していないことです。現在の権限で許可されている限り、この機会を利用して任意のディレクトリにコンテンツを書き込みます。

さらに、Windows プラットフォームでのみ発生する 2023 つの脆弱性が修正されました: CVE-29012-2023 (「Git CMD」コマンドを実行するときに、リポジトリの作業ディレクトリで実行可能ファイル doskey.exe を検索します。これにより、ユーザーのシステムでのコードの実行)、CVE-25815 -2023(gettext でのカスタム ローカリゼーション ファイルの処理中のバッファ オーバーフロー)、および CVE-29011-5(SOCKSXNUMX を介した作業時に connect.exe ファイルを置き換える可能性)。

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

コメントを追加します