推しの狸の話

推しの狐とはgitlabです。タイトルでふざけてみたかっただけです。

また、本記事はAdvent Calendar 2021年度版!! の25日目の記事です

adventar.org

先日のlog4j 2から脆弱性に興味を持った人も多いのではないでしょうか。

結構前の話になるのですが、gitlabがDDos攻撃に悪用されたインシデントがあるので紹介しようと思います。

概要

2021年4月に公開されたCVE-2021-22205が悪用され、10月下旬から11月上旬にかけて全世界で稼働しているgitlab 6万台のうち半分の3万台のgitlabが攻撃に使用されました。

CVE-2021-22205について

この脆弱性に対するスコアであるCSVVは満点の10.0です。
脆弱性の説明としては「ファイルパーサーに渡された画像ファイルを適切に検証していなかったため、リモートコマンドが実行される」とあります。

これはどういう意味かというと、gitlabにはExifToolというCLIアプリケーションがあり、画像のメタデータを取得したり追加したり変更したりできます。

使用例としては以下のような感じで画像のメタデータを出力してくれます。ctfで画像が投げられた時にとりあえず使用されるツールです。
このデータの中にフラグが隠されている場合もあります。

$exiftool river.jpg
ExifTool Version Number         : 12.30
File Name                       : river.jpg
Directory                       : .
File Size                       : 414 KiB
File Modification Date/Time     : 2021:12:25 05:57:23+09:00

.
.
.

今回脆弱性を突かれたのはこのExifToolの削除機能で、 DjVuファイルに対して検証不備があり、任意のコードが実行できてしまいまうそうです。

また、発見当時は攻撃に認証を必要としていたらしいのですが、10月に認証不要な攻撃方法が公開されていたようです。

対象となったgitlabのバージョン

GitLab Community Edition, GitLab Enterprise Edition: - 11.9.0~13.8.8
- 13.9.0~13.9.6
- 13.10.0~13.10.3

攻撃方法

まず対象のバージョンのgitlabではデフォルトでユーザー登録が許可されており、登録時のメールもデフォルトでは検証されない為新しく作成されたユーザーは自動的にログオンできます。

次にgitlab apiを用いてプロジェクト一覧を取得し、その中の一つのプロジェクトに対してDjVu形式の画像を投げ任意のコードを実行していたようです。

最後に

この脆弱性のパッチは4月に適用されている為、半数のgitlabが被害を受けたという事は半数のgitlabがパッチを当ててないということになります。
勿論、このパッチを当ててない全てのgitlabがこの情報を知らなかったとは思いませんが、運用しているサービスの脆弱性の情報は収集する必要があると感じました。
また面白そうなセキュリティニュースなどあればまとめてみたいと思います。

追記

コメントで教えて頂いたのですがgitlabのアイコンは狐では無く狸らしいです。 間違った情報を載せないように気を付けていたのですがまさかタイトルが間違ってるとは、、、、 firefoxと同じような色だったので狐と勘違いしてました。 mktさんありがとうございます。