Di recente ho ricevuto dal reparto sicurezza un avviso relativo a una vulnerabilità di MinIO

A prima vista, questa vulnerabilità sembra davvero gravissima: va corretta tempestivamente.
Così, abbiamo cominciato a lavorare all'aggiornamento.
Per prima cosa, verifichiamo che la versione di MinIO che utilizziamo sia 2021-03-26T00:00:41Z
Questa versione è stata scelta perché distribuita con la Apache License 2.0 ,l'ultima versione di MinIO utilizzabile gratuitamente a fini commerciali senza dover pubblicare il codice sorgente.
Dopo questa versione, MinIO ha cambiato la propria licenza in AGPL V3.
Secondo il rapporto, questa vulnerabilità
Conferma delle versioni interessate: RELEASE.2019-12-17T23-16-33Z <= MinIO < RELEASE.2023-03-20T20-16-18Z
Versione corretta: RELEASE.2023-03-20T20-16-18Z
La versione che utilizziamo attualmente rientra tra quelle interessate。
Poiché la versione che utilizziamo è troppo vecchia, non osiamo passare a una nuova versione principale.
Ho quindi pensato di scaricare personalmente il codice sorgente e applicare una patch per correggerlo, basandomi sulle parti di codice divulgate nel rapporto.
// 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 { // ignorare determinate variabili d'ambiente come parte // della lista degli elementi consentiti e potrebbe essere configurato // in modo diverso su ciascun nodo, aggiornare skipEnvs() // mappa se esistono tali valori d'ambiente if _, ok := skipEnvs[envK]; ok { continue } envValues[envK] = env.Get(envK, "") } return ServerSystemConfig{ MinioEndpoints: globalEndpoints, MinioEnv: envValues, } }
Ma quando ho scaricato il codice sorgente e sono passato al ramo della versione che usavamo, ho scoperto che quella versione non conteneva il codice riportato nella segnalazione
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 cielo, che succede?Che succede?Che cosa succede?
Secondo il rapporto, esiste uno strumento di verifica che permette di verificare questa vulnerabilità.https://github.com/MzzdToT/CVE-2023-28432
Scarico il codice di verifica della vulnerabilità; il risultato dell’esecuzione mostra che la versione che utilizziamo non ne è interessata.

A questo punto comincio a sospettare che l'intervallo di versioni indicato nel rapporto sia errato, quindi confronto il codice sorgente di MinIO

Dal confronto del codice è emerso che la prima versione che introduce effettivamente questo difetto è RELEASE.2021-08-31T05-46-54Z
Non posso ancora confermare se la mia ipotesi sia corretta, quindi inizio a cercare l’avviso relativo a questa vulnerabilità sul sito ufficiale di MinIO
https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q

La verità è ormai emersa: il team ufficiale di MinIO ha indicato correttamente le versioni interessate
Versioni interessate
RELEASE.2021-08-31T05-46-54Z
Versioni corrette
RELEASE.2023-03-20T20-16-18Z
La versione che utilizziamo non rientra tra quelle interessate.
Dopo questo episodio, ho cercato molti articoli.
Eh, anche tra questi fornitori cinesi di sicurezza informatica ci si copia a vicenda.
Questo articolo
https://cloud.tencent.com/developer/article/2315008
Plagio
https://www.h3c.com/cn/d_202304/1830808_30003_0.htm
Questo articolo
https://www.h3c.com/cn/d_202304/1830808_30003_0.htm
Ancora plagio
https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q
Alla fine ha persino copiato la versione sbagliata, che fregatura!
Ora pubblicherò i link agli articoli che ho trovato: sono tutti delle fregature, e intendo infierire senza pietà sui loro cadaveri
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