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

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.

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

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

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