Ir al contenido principal

Buscar en CooLWJ

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

Idioma

Etiquetado incorrecto de las versiones afectadas por la vulnerabilidad de divulgación de información de MinIO CVE-2023-28432

Hace poco recibí una alerta del departamento de seguridad sobre una vulnerabilidad de MinIO

image.png

A primera vista, esta vulnerabilidad parece gravísima; ¡hay que corregirla cuanto antes!

Así pues, me puse manos a la obra con la actualización.

Primero, comprobamos que la versión de MinIO que usamos es 2021-03-26T00:00:41Z 

Elegimos esta versión porque utiliza Apache License 2.0 , y es la última versión de MinIO que permite el uso comercial gratuito sin necesidad de publicar el código fuente.

A partir de esta versión, MinIO cambió su licencia a AGPL V3.

Según el informe, esta vulnerabilidad

Versiones afectadas confirmadas:RELEASE.2019-12-17T23-16-33Z <= MinIO < RELEASE.2023-03-20T20-16-18Z

Versión corregida:RELEASE.2023-03-20T20-16-18Z

La versión que utilizamos actualmente se encuentra entre las versiones afectadas.

Como la versión que utilizamos es demasiado antigua, no nos atrevemos a actualizar a una versión principal más reciente.

Así que pensé en descargar el código fuente y aplicar yo mismo un parche basándome en los fragmentos de código revelados en el informe.

// 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 {    // omitir determinadas variables de entorno como parte    // de la lista de permitidos y podría configurarse    // de forma diferente en cada nodo, actualizar skipEnvs()    // mapear si existen esos valores de entorno    if _, ok := skipEnvs[envK]; ok {      continue    }    envValues[envK] = env.Get(envK, "")  }  return ServerSystemConfig{    MinioEndpoints: globalEndpoints,    MinioEnv:       envValues,  } }

Pero cuando descargué el código fuente y cambié a la rama de la versión que utilizábamos, descubrí que esa versión no contenía el código que aparecía en el informe

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

¡Ay, qué pasa? ¿Qué pasa?¿Qué está pasando?

Según el informe, existe una herramienta de comprobación que permite verificar esta vulnerabilidad.https://github.com/MzzdToT/CVE-2023-28432

Descargamos el código de comprobación de la vulnerabilidad y, tras ejecutarlo, los resultados mostraron que la versión que utilizamos no está afectada.

image.png

En ese momento empecé a sospechar que el intervalo de versiones indicado en el informe era incorrecto, así que comparé el código fuente de MinIO

1.jpg

Tras comparar el código, se descubrió que las versiones que realmente incorporan este defecto comienzan en RELEASE.2021-08-31T05-46-54Z

Todavía no puedo confirmar si mi suposición es correcta, así que empiezo a buscar el aviso sobre esta vulnerabilidad en los canales oficiales de MinIO 

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

image.png

La verdad ha salido a la luz: el equipo oficial de MinIO ha indicado correctamente las versiones afectadas

Versiones afectadas

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

Versiones corregidas

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

La versión que utilizamos no está dentro del intervalo de versiones afectadas.

A raíz de este incidente, busqué muchísimos artículos.

Ay, entre los proveedores de seguridad de China también pasa lo mismo: tú me plagias y yo te plagio.

Este artículo 

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

Plagio  

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

Este artículo

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

Otro plagio

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

¡Y resulta que encima copió la versión equivocada, menuda faena!


A continuación voy a publicar los enlaces de los artículos que encontré: son todos una panda de inútiles y voy a ponerlos a caldo, aunque el asunto ya esté enterrado

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





Comentarios

Enviando

Elige tu tema

El tema se aplica a todo el sitio.