Zum Hauptinhalt springen

CooLWJ durchsuchen

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

Sprache

CVE-2023-28432: Fehlerhafte Versionskennzeichnung der MinIO-Schwachstelle zur Offenlegung von Informationen

Vor Kurzem erhielt ich von der Sicherheitsabteilung eine Warnung zu einer MinIO-Sicherheitslücke

image.png

Auf den ersten Blick ist diese Sicherheitslücke wirklich fatal und muss unbedingt rechtzeitig behoben werden.

Also machte ich mich an das Upgrade.

Zunächst vergewissern wir uns, dass die von uns verwendete MinIO-Version folgende ist: 2021-03-26T00:00:41Z 

Diese Version wurde gewählt, weil sie unter der Apache License 2.0 steht ,der letzten Version von MinIO, die kostenlos kommerziell genutzt werden kann, ohne den Quellcode offenlegen zu müssen.

In den auf diese Version folgenden Versionen stellte MinIO seine Lizenz auf AGPL V3 um.

Dem Bericht zufolge weist diese Sicherheitslücke

Bestätigter betroffener Versionsbereich:RELEASE.2019-12-17T23-16-33Z <= MinIO < RELEASE.2023-03-20T20-16-18Z

Version mit Fehlerbehebung: RELEASE.2023-03-20T20-16-18Z

Die von uns derzeit verwendete Version gehört zu den betroffenen Versionen.

Da die von uns verwendete Version zu alt ist, wagen wir kein Upgrade auf eine neue Hauptversion.

Also dachte ich daran, den Quellcode selbst herunterzuladen und anhand der im Bericht offengelegten Quellcodeabschnitte einen Patch zur Behebung zu erstellen.

// 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 := Bereich envs {    // bestimmte Umgebungsvariablen als Teil überspringen    // der Positivliste und könnte konfiguriert werden    // auf jedem Knoten unterschiedlich, skipEnvs() aktualisieren    // zuordnen, falls solche Umgebungswerte vorhanden sind    if _, ok := skipEnvs[envK]; ok {      continue    }    envValues[envK] = env.Get(envK, "")  }  return ServerSystemConfig{    MinioEndpoints: globalEndpoints,    MinioEnv:       envValues,  } }

Doch nachdem ich den Quellcode heruntergeladen und zu dem von uns verwendeten Versionsbranch gewechselt hatte, stellte ich fest, dass diese Version den im Bericht genannten Code gar nicht enthielt

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,
    }
}

Ach du meine Güte, was ist los? Was ist los?Was ist da los?

Dem Bericht zufolge gibt es ein Prüfwerkzeug, mit dem sich diese Schwachstelle verifizieren lässt.https://github.com/MzzdToT/CVE-2023-28432

Wir luden den Code zur Überprüfung der Schwachstelle herunter. Das Ergebnis seiner Ausführung zeigte, dass die von uns verwendete Version nicht betroffen ist.

image.png

Nun begann ich zu vermuten, dass der im Bericht angegebene Versionsbereich falsch war, und verglich deshalb den MinIO-Quellcode

1.jpg

Ein Vergleich des Codes ergab, dass der Fehler tatsächlich erstmals in folgender Version eingeführt wurde: RELEASE.2021-08-31T05-46-54Z

Noch lässt sich nicht bestätigen, ob meine Vermutung richtig ist. Ich beginne, bei MinIO offiziell nach der Bekanntmachung zu dieser Sicherheitslücke zu suchen

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

image.png

Die Wahrheit ist nun bekannt: MinIO hat offiziell die korrekten betroffenen Versionen angegeben

Betroffene Versionen

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

Gepatchte Versionen

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

Die von uns verwendete Version liegt außerhalb des Bereichs der betroffenen Versionen.

Nach diesem Vorfall suchte ich nach zahlreichen Artikeln.

Ach, bei den chinesischen Sicherheitsanbietern kopiert auch einer vom anderen.

Dieser Artikel 

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

Plagiat  

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

dieser Artikel

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

Schon wieder plagiiert

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

Dabei hat es auch noch die falsche Version abgeschrieben, so ein Mist!


Im Folgenden veröffentliche ich die Links zu den gefundenen Artikeln. Allesamt völlig irreführender Mist – ich werde sie gnadenlos auseinandernehmen

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





Kommentare

Wird gesendet

Design auswählen

Das Design gilt für die gesamte Website.