Vulnerabilidad en el flag "--gitlab-group" para la autorización basada en grupos en el proveedor GitLab en OAuth2-Proxy (CVE-2021-21411)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/03/2021
Última modificación:
06/04/2021
Descripción
OAuth2-Proxy es un proxy inverso de código abierto que proporciona autenticación con Google, Github u otros proveedores. El flag "--gitlab-group" para la autorización basada en grupos en el proveedor GitLab dejó de funcionar en la versión v7.0.0. Independientemente de la configuración del flag, la autorización no estaba restringida. Además, cualquier usuario autenticado tenía los grupos que habían sido establecidos en "--gitlab-group" añadidos al nuevo encabezado "X-Forwarded-Groups" para la aplicación de origen. Al añadir la compatibilidad con la autorización basada en proyectos de GitLab en el número 630, se introdujo un error por el que el campo groups de la sesión del usuario se rellenaba con las entradas de configuración de "--gitlab-group" en lugar de extraer la pertenencia al grupo del usuario individual desde el endpoint de GitLab Userinfo. Cuando los grupos de la sesión se comparaban con los grupos permitidos para la autorización, coincidían incorrectamente (ya que ambas listas se rellenaban con los mismos datos), por lo que se permitía la autorización. Esto afecta a usuarios del proveedor de GitLab que se basan en la pertenencia a grupos para las restricciones de autorización. Cualquier usuario autenticado en su entorno de GitLab puede acceder a sus aplicaciones independientemente de las restricciones de pertenencia a grupos de "--gitlab-group". Esto ha sido corregido en la versión 7.1.0. No se presenta una solución para el error de Group membership. Pero "--gitlab-project" puede ser configurado para usar Project membership como la comprobación de la autorización en lugar de los grupos; esto no está roto.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Puntuación base 2.0
5.50
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:oauth2_proxy_project:oauth2_proxy:*:*:*:*:*:*:*:* | 7.0.0 (incluyendo) | 7.1.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://docs.gitlab.com/ee/user/group/
- https://github.com/oauth2-proxy/oauth2-proxy/commit/0279fa7dff1752f1710707dbd1ffac839de8bbfc
- https://github.com/oauth2-proxy/oauth2-proxy/releases/tag/v7.1.0
- https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-652x-m2gr-hppm
- https://pkg.go.dev/github.com/oauth2-proxy/oauth2-proxy/v7