Vai al contenuto principale

Cerca su CooLWJ

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

Lingua

CVE-2023-28432 Errore nell'indicazione delle versioni della vulnerabilità di divulgazione delle informazioni di MinIO

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

image.png

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.

image.png

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

1.jpg

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

image.png

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





Commenti

Invio in corso

Scegli il tema

Il tema si applica a tutto il sito.