GitのRCE

ほぼこもセキュリティニュース By Terilogy Worx

Gitはプログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムです。
多くの組織や環境で利用されています。
いろいろなソースコード管理システムがこれまで生まれてきて活用されてきていますが、最近最も利用されているのはGitなのではないでしょうか。
わたしも使っています。
Gitを使うといってもいろいろな方法があるでしょう。
自分で用意した環境にローカルのみでの利用を想定して構築して利用することもあるでしょう。
また、いろいろな場所に分散した開発メンバーで共通的に利用するリポジトリを構成するための道具として使用することもあるでしょう。
Gitの場合はこちらが多いのだと思います。

Gitを使って人々は効率的にソフトウェアの開発を行い、機能を拡張し、問題を解決していきます。
しかしそんなGitそのものもメンテナンスする必要がある、という話です。

GitプロジェクトがGitの修正バージョンをアナウンスしました。
この修正バージョンは緊急的にリリースされたもののようで、旧バージョンにパッチを適用したような形態のものとしてリリースされています。
問題のあるバージョンにおいて、以下の3つの脆弱性が存在します。

  • CVE-2022-41903
    こちらはバッファーオーバーフローの脆弱性です。
    gitコマンドにはいろいろなサブコマンドがありますが、この脆弱性はgit logコマンドのオプションの利用時に発現する問題です。
    git archiveコマンド経由でも影響がある使い方ができてしまいます。
    この脆弱性が悪用できる状態の場合、リモートコード実行が可能になる可能性があります。

     

  • CVE-2022-23521
    こちらもバッファーオーバーフローの脆弱性です。
    ファイルの読み取りに使用されるパーサーには、複数の整数オーバーフローがあり、多数のパターン、多数の属性、または非常に長い名前を持つ属性を解析するときに発生する可能性があります。
    この問題は今回のgitの場合、悪意のある .gitattributes ファイルによって引き起こされる可能性があります。
    この脆弱性が悪用できる状態の場合、リモートコード実行が可能になる可能性があります。

     

  • CVE-2022-41953
    この問題は環境依存となっていて、Windows上でgitを利用する場合に問題となります。
    対象のソフトウェアはgit for windowsに含まれるGit GUIです。
    Git GUIを利用する中で、利用者の意図するところでないコード実行が実施される可能性があります。

これらの問題には、最新のgitに更新することで対応することができます。
2023年1月19日時点でのgitの最新は2.39.1です。

多くの人や組織がgitを使ってさまざまなソフトウェアの開発やメンテナンスを行っていきます。
多くのソフトウェアの脆弱性もカバーされていきます。
開発環境が汚染されることで起こる問題は計り知れないものです。
開発環境そのものも適切なタイミングでのメンテナンスを継続したいものです。

参考記事(外部リンク):Git security vulnerabilities announced
github.blog/2023-01-17-git-security-vulnerabilities-announced-2/