J’ai récemment reçu du service de sécurité une alerte concernant une vulnérabilité de MinIO

À première vue, cette vulnérabilité semble vraiment critique ; il faut la corriger sans tarder.
Je me suis donc attelé à la mise à niveau.
Tout d’abord, vérifions que la version de MinIO utilisée est 2021-03-26T00:00:41Z
Cette version a été choisie parce qu’elle est distribuée sous Apache License 2.0 ,c’est la dernière version de MinIO utilisable gratuitement à des fins commerciales sans devoir publier le code source.
Après cette version, MinIO a changé sa licence pour l’AGPL V3.
Selon le rapport, cette vulnérabilité
Versions affectées confirmées : RELEASE.2019-12-17T23-16-33Z <= MinIO < RELEASE.2023-03-20T20-16-18Z
Version corrigée : RELEASE.2023-03-20T20-16-18Z
La version que nous utilisons actuellement fait partie des versions concernées.
Comme la version que nous utilisons est trop ancienne, nous n’osons pas passer à une nouvelle version majeure.
J’ai donc envisagé de télécharger moi-même le code source et d’appliquer un correctif à partir des portions de code divulguées dans le rapport.
// 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 { // ignorer certaines variables d’environnement dans le cadre // de la liste blanche et pourrait être configuré // diffère selon les nœuds, mettre à jour skipEnvs() // effectuer le mappage si de telles valeurs d’environnement existent if _, ok := skipEnvs[envK]; ok { continue } envValues[envK] = env.Get(envK, "") } return ServerSystemConfig{ MinioEndpoints: globalEndpoints, MinioEnv: envValues, } }
Pourtant, après avoir téléchargé le code source et basculé sur la branche de la version que nous utilisons, j’ai constaté que cette version ne contenait pas le code figurant dans le rapport
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,
}
}Oh là là, que se passe-t-il ? Que se passe-t-il ?Que se passe-t-il ?
D’après le rapport, un outil de vérification permet de confirmer cette vulnérabilité.https://github.com/MzzdToT/CVE-2023-28432
Après téléchargement et exécution du code de vérification de la vulnérabilité, les résultats montrent que la version que nous utilisons n’est pas affectée.

Je commence alors à soupçonner une erreur dans la plage de versions indiquée par le rapport, et je compare donc le code source de MinIO

La comparaison du code révèle que la première version ayant effectivement introduit ce défaut est RELEASE.2021-08-31T05-46-54Z
Je ne peux toujours pas confirmer si mon hypothèse est correcte ; je commence à chercher l’avis concernant cette vulnérabilité sur le site officiel de MinIO
https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q

La vérité est enfin connue de tous, l’équipe officielle de MinIO a indiqué les bonnes versions affectées
Versions concernées
RELEASE.2021-08-31T05-46-54Z
Versions corrigées
RELEASE.2023-03-20T20-16-18Z
La version que nous utilisons ne figure pas parmi les versions concernées.
Après cet incident, j’ai recherché de nombreux articles.
Ah, chez les fournisseurs chinois de solutions de sécurité aussi, chacun copie l’autre.
Cet article
https://cloud.tencent.com/developer/article/2315008
Plagiat
https://www.h3c.com/cn/d_202304/1830808_30003_0.htm
Cet article
https://www.h3c.com/cn/d_202304/1830808_30003_0.htm
Encore du plagiat
https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q
En plus, il a recopié la mauvaise version, quelle galère !
Je vais maintenant publier les liens des articles que j’ai trouvés : ce sont tous des arnaqueurs, et je vais les étriller sans pitié, même après coup
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