CNCF’s Harbor (cloud native registry) corrige una fuga de información descubierta por ElevenPaths (CVE-2020-29662)

Javier Provecho    10 febrero, 2021

El pasado 2 de diciembre, el equipo de CTO SRE de ElevenPaths descubrió una API sin acceso autenticado en Harbor, un registro cloud native parte de la CNCF. Es conocido por su uso como registro de Docker agnóstico y como servidor de charts de Helm en arquitecturas cloud native. En este artículo explicaré como reproducir esta vulnerabilidad así como el impacto que tiene en el software e información almacenada en Harbor.

La API v2 catalog es la afectada, la cual permite obtener una lista de todos los recursos disponibles en el registro. Solo puede ser accedida con una identidad de administrador.

Si la petición contiene una barra inclinada al final, sigue siendo gestionada por el proveedor de la API v2 catalog, pero saltándose la autorización.

Se detectó que el origen del bug estaba en el auth middleware, responsable de identificar los recursos a los que necesita acceder cada petición para posteriormente autorizarlos si corresponde. Este middleware se ejecuta antes de cualquier otro proveedor de APIs en beego, el router usado por el proyecto Harbor. Este router ejecuta por defecto el mismo proveedor de API para peticiones con o sin barra inclinada al final de la URL.

El auth middleware usa patrones regex para identificar los recursos a los que necesita acceder cada petición. En el caso de la API v2 catalog, el patrón no valía para identificar una petición con una barra inclinada al final de la URL. De este modo, el auth middleware no asignaba ningún recurso a la petición y por tanto la marcaba como autorizada.

El proyecto Harbor ha liberado parches para las versiones 2.0.* y 2.1.*. No obstante, si no fuese posible acceder a dichos parches, se puede redireccionar el proveedor de la API v2 catalog a un servidor vacío HTTP como alternativa.

Se recomienda encarecidamente aplicar los parches para evitar que agentes no identificados exploren las instancias visibles desde servicios como Shodan.

Cronología:

  • 02/12/2020. Vulnerabilidad descubierta y reportada a la lista de correo de Harbor para asuntos de seguridad.
  • 03/12/2020. Vulnerabilidad confirmada por el equipo de seguridad de Harbor.
  • 17/12/2020. Harbor libera los parches 2.0.5. y 2.1.2., mitigando la vulnerabilidad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *