本文へ移動

CooLWJを検索

选择搜索范围,输入关键词后按回车。

言語

CVE-2023-28432 MinIO情報漏えい脆弱性のバージョン表記の誤り

最近、セキュリティ部門からMinIOの脆弱性に関する警告を受け取りました

image.png

一見したところ、この脆弱性はかなり致命的で、速やかに修正しなければなりませんね。

こうして、アップグレード作業に着手しました。

まず、使用しているMinIOのバージョンが次のものであることを確認します 2021-03-26T00:00:41Z 

このバージョンを選んだのは、ライセンスが Apache License 2.0 であり、無料で商用利用でき、ソースコードの公開も必要ない MinIO の最後のバージョンだからです。

このバージョン以降、MinIOはライセンスをAGPL V3に変更しました。

報告によると、この脆弱性は

影響を受けることが確認されたバージョン:RELEASE.2019-12-17T23-16-33Z <= MinIO < RELEASE.2023-03-20T20-16-18Z

修正バージョン:RELEASE.2023-03-20T20-16-18Z

現在使用しているバージョンは、影響を受けるバージョンに含まれています。

使用しているバージョンがあまりにも古いため、メジャーバージョンの更新に踏み切れません。

そこで、自分でソースコードをダウンロードし、報告書で公開されたソースコードの部分に基づいて、自分でパッチを当てて修正しようと考えた。

// minio/cmd/bootstrap-peer-server.go

func (b *bootstrapRESTServer) VerifyHandler(w http.ResponseWriter, r *http.Request) {  ctx := newContext(r, w, "VerifyHandler")  cfg := getServerSystemCfg()  logger.LogIf(ctx, json.NewEncoder(w).Encode(&cfg)) }

// minio/cmd/bootstrap-peer-server.go

func getServerSystemCfg() ServerSystemConfig {  envs := env.List("MINIO_")  envValues := make(map[string]string, len(envs))  for _, envK := range envs {    // 一部の環境変数を、その一環としてスキップする    // ホワイトリストのもので、設定可能だった    // 各ノードで異なるため、skipEnvs()を更新    // 該当する環境変数の値がある場合はマッピングする    if _, ok := skipEnvs[envK]; ok {      continue    }    envValues[envK] = env.Get(envK, "")  }  return ServerSystemConfig{    MinioEndpoints: globalEndpoints,    MinioEnv:       envValues,  } }

ところが、ソースコードをダウンロードし、私たちが使用しているバージョンのブランチに切り替えたところ、このバージョンには報告書に記載されたコードがないことに気づきました

func (b *bootstrapRESTServer) VerifyHandler(w http.ResponseWriter, r *http.Request) {
    ctx := newContext(r, w, "VerifyHandler")
    cfg := getServerSystemCfg()
    logger.LogIf(ctx, json.NewEncoder(w).Encode(&cfg))
    w.(http.Flusher).Flush()
}
func getServerSystemCfg() ServerSystemConfig {
    return ServerSystemConfig{
       MinioPlatform:  fmt.Sprintf("OS: %s | Arch: %s", runtime.GOOS, runtime.GOARCH),
       MinioEndpoints: globalEndpoints,
    }
}

あれ、どうしたの?どうしたの?どういうこと?

報告によると、この脆弱性を検証できるツールがあります。https://github.com/MzzdToT/CVE-2023-28432

脆弱性の検証コードをダウンロードして実行したところ、使用中のバージョンは影響を受けないという結果が出ました。

image.png

ここで私は報告書のバージョン範囲に誤りがあるのではないかと疑い始め、MinIO のソースコードを比較しました

1.jpg

コードを比較した結果、この不具合を実際に取り込んだバージョンは次からだと分かった RELEASE.2021-08-31T05-46-54Z

この時点でも自分の推測が正しいかは確認できず、MinIO公式でこの脆弱性の告知を調べ始めた 

https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q

image.png

真相が明らかになりました。MinIO 公式が、影響を受ける正しいバージョンを公表しました

影響を受けるバージョン

RELEASE.2021-08-31T05-46-54Z

修正済みバージョン

RELEASE.2023-03-20T20-16-18Z

私たちが使用しているバージョンは、影響を受けるバージョンの範囲に含まれていません。

今回の出来事を経て、私はたくさんの記事を検索しました。

はあ、中国国内のセキュリティベンダーも、互いに盗用し合っているんですよね。

この記事 

https://cloud.tencent.com/developer/article/2315008 

盗用  

https://www.h3c.com/cn/d_202304/1830808_30003_0.htm

この記事

https://www.h3c.com/cn/d_202304/1830808_30003_0.htm 

また盗用

 https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q

ところが、コピーしたバージョンまで間違っていた。本当にひどい!


ここからは、検索で見つけた記事のリンクを公開する。どれも人を困らせるろくでもない記事ばかりなので、徹底的に蒸し返してこき下ろしてやる

https://stack.chaitin.com/techblog/detail/62


https://mp.weixin.qq.com/s/JgskenAZ6Cpecoe2k2AEjQ


https://blog.nsfocus.net/miniocve-2023-28432/


https://www.freebuf.com/vuls/363647.html


https://cloud.tencent.com/developer/article/2315008


https://www.h3c.com/cn/d_202304/1830808_30003_0.htm


https://zone.huoxian.cn/d/2708-cve-2023-28432-minio/17


https://www.cve.org/CVERecord?id=CVE-2023-28432





コメント

送信中

好きなテーマを選ぶ

選んだテーマはサイト全体に適用されます。