Перейти к основному содержимому

Поиск по 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





Комментарии

Отправка

Выберите оформление

Выбранное оформление применяется ко всему сайту.