Estás viendo la documentación de Anthos Service Mesh 1.10. Consulta la documentación más reciente o selecciona otra versión disponible:

Boletines de seguridad

Usa este feed XML para suscribirte a los boletines de seguridad de la malla de servicios de Anthos. Suscribirse

En esta página, se enumeran los boletines de seguridad de Anthos Service Mesh.

GCP-2021-016

Publicada: 24 de agosto de 2021
Descripción Gravedad Notas

Istio contiene una vulnerabilidad que se puede usar a nivel remoto en la que una solicitud HTTP con un fragmento (una sección al final de un URI que comienza con un carácter #) en la ruta del URI podría omitir las políticas de autorización de la ruta basada en URI de Istio.

Por ejemplo, una política de autorización de Istio rechaza las solicitudes enviadas a la ruta del URI /user/profile. En las versiones vulnerables, una solicitud con la ruta de acceso de URI /user/profile#section1 omite la política de denegación y se enruta al backend (con la ruta de URI normalizada /user/profile%23section1), lo que genera un incidente de seguridad.

Esta corrección depende de una corrección en Envoy, que está asociada con CVE-2021-32779.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si se cumplen las siguientes condiciones:

Mitigación

Actualiza el clúster a una de las siguientes versiones de parche:

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

Con las versiones nuevas, la parte del fragmento del URI de la solicitud se quita antes de la autorización y el enrutamiento. Esto evita que una solicitud con un fragmento en su URI omita las políticas de autorización basadas en el URI sin la parte del fragmento.

Inhabilitar

Si inhabilitas este comportamiento nuevo, se conserva la sección de fragmentos del URI. Para inhabilitarlo, puedes configurar la instalación de la siguiente manera:


apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: opt-out-fragment-cve-fix
  namespace: istio-system
spec:
  meshConfig:
    defaultConfig:
      proxyMetadata:
        HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED: "false"

Nota: Si inhabilitas este comportamiento, tu clúster será vulnerable a esta CVE.

Alto

CVE-2021-39156

Descripción Gravedad Notas

Istio contiene una vulnerabilidad que se puede usar de forma remota, en la que una solicitud HTTP podría omitir una política de autorización de Istio cuando se usan reglas basadas en hosts o notHosts.

En las versiones vulnerables, la política de autorización de Istio compara los encabezados HTTP Host o :authority sin distinguir entre mayúsculas y minúsculas, lo que no concuerda con RFC 4343. Por ejemplo, el usuario podría tener una política de autorización que rechace las solicitudes con el host secret.com, pero el atacante puede omitir esto mediante el envío de la solicitud en el nombre de host Secret.com. El flujo de enrutamiento enruta el tráfico al backend de secret.com, lo que provoca un incidente de seguridad.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si se cumplen las siguientes condiciones:

Mitigación

Actualiza el clúster a una de las siguientes versiones de parche:

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

Esta mitigación garantiza que los encabezados HTTP Host o :authority se evalúen según las especificaciones hosts o notHosts en las políticas de autorización para que no distingan entre mayúsculas y minúsculas.

Alto

CVE-2021-39155

Descripción Gravedad Notas

Envoy contiene una vulnerabilidad que se puede usar de forma remota y que una solicitud HTTP con varios encabezados de valor puede realizar una verificación de política de autorización incompleta cuando se usa la extensión ext_authz. Cuando un encabezado de solicitud contiene varios valores, el servidor de autorización externo solo verá el último valor del encabezado especificado.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si se cumplen las siguientes condiciones:

  • Usa las versiones de parche de Anthos Service Mesh anteriores a 1.7.8-asm.10, 1.8.6-asm.8, 1.9.8-asm.1 y 1.10.4-asm.6.
  • Usa la función de autorización externa.
Mitigación

Actualiza el clúster a una de las siguientes versiones de parche:

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

Alto

CVE-2021-32777

Descripción Gravedad Notas

Envoy contiene una vulnerabilidad que se puede usar de forma remota y afecta a las extensiones decompressor, json-transcoder o grpc-web de Envoy, o que modifican y aumentan el tamaño de los cuerpos de las solicitudes o respuestas. Modifica y aumenta el tamaño del cuerpo en la extensión de Envoy más allá del tamaño del búfer interno podría provocar que Envoy acceda a la memoria desasignada y finalice de forma anormal.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si se cumplen las siguientes condiciones:

  • Usa las versiones de parche de Anthos Service Mesh anteriores a 1.7.8-asm.10, 1.8.6-asm.8, 1.9.8-asm.1 y 1.10.4-asm.6.
  • Usa EnvoyFilters.
Mitigación

Actualiza el clúster a una de las siguientes versiones de parche:

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

Alto

CVE-2021-32781

Descripción Gravedad Notas

Envoy contiene una vulnerabilidad que se puede aprovechar de forma remota, en la que un cliente de Envoy que abre y, luego, restablece una gran cantidad de solicitudes HTTP/2 puede generar un consumo excesivo de CPU.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si usa versiones de parche de Anthos Service Mesh anteriores a 1.7.8-asm.10, 1.8.6-asm.8, 1.9.8-asm.1 y 1.10.4-asm.6.

Mitigación

Actualiza el clúster a una de las siguientes versiones de parche:

  • 1.10.4-asm.6
  • 1.9.8-asm.1

Nota: Si usas Anthos Service Mesh 1.8 o una versión anterior, actualiza a las versiones de parche más recientes de Anthos Service Mesh 1.9 y versiones posteriores para mitigar esta vulnerabilidad.

Alto

CVE-2021-32778

Descripción Gravedad Notas

Envoy contiene una vulnerabilidad que se puede aprovechar de forma remota, en la que un servicio ascendente no confiable podría provocar que Envoy finalice de forma anormal mediante el envío del marco GOAWAY seguido del marco SETTINGS con el parámetro SETTINGS_MAX_CONCURRENT_STREAMS establecido en 0.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si usa Anthos Service Mesh 1.10 con una versión de parche anterior a la 1.10.4-asm.6.

Mitigación

Actualiza tu clúster a la siguiente versión de parche:

  • 1.10.4-asm.6

Alto

CVE-2021-32780

GCP-2021-012

Publicado el 24 de junio de 2021
Descripción Gravedad Notas

La Gateway segura de Istio o las cargas de trabajo que usan DestinationRule pueden cargar certificados y claves privadas TLS desde los secretos de Kubernetes a través de la configuración credentialName. En Istio 1.8 y versiones posteriores, los secretos se leen desde istiod y se transmiten a las puertas de enlace y las cargas de trabajo a través de XDS.

Por lo general, una implementación de carga de trabajo o puerta de enlace solo puede acceder a certificados y claves privadas TLS almacenados en el secreto de su espacio de nombres. Sin embargo, un error en istiod permite que un cliente con autorización para acceder a la API de Istio XDS recupere cualquier certificado y clave privada TLS almacenados en caché en istiod. Esta vulnerabilidad de seguridad solo afecta a las versiones secundarias 1.8 y 1.9 de Anthos Service Mesh.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Tu clúster se ve afectado si se cumplen TODAS las condiciones que se indican a continuación:

  • Usa una versión 1.9.x anterior a 1.9.6-asm.1 o una versión 1.8.x anterior a 1.8.6-asm.4.
  • Definió Gateways o DestinationRules con el campo credentialName especificado.
  • No especifica la marca istiod PILOT_ENABLE_XDS_CACHE=false.
Mitigación

Actualiza el clúster a una de las siguientes versiones de parche:

  • 1.9.6-asm.1
  • 1.8.6-asm.4

Si no es posible actualizar, puedes mitigar esta vulnerabilidad inhabilitando el almacenamiento en caché istiod. Para inhabilitar el almacenamiento en caché, configura la variable de entorno istiod como PILOT_ENABLE_XDS_CACHE=false. El rendimiento del sistema y de istiod puede verse afectado porque esta acción inhabilita el almacenamiento en caché de XDS.

Alto

CVE-2021-34824

GCP-2021-008

Fecha de publicación: 17 de mayo de 2021
Descripción Gravedad Notas

Istio contiene una vulnerabilidad que se puede aprovechar de forma remota, en la que un cliente externo puede acceder a servicios inesperados en el clúster y, así, omitir las verificaciones de autorización cuando una puerta de enlace se configura con la configuración de enrutamiento AUTO_PASSTHROUGH.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Esta vulnerabilidad solo afecta el uso del tipo de puerta de enlace AUTO_PASSTHROUGH, que suele usarse solo en implementaciones de varias redes y varios clústeres.

Usa el siguiente comando para detectar el modo TLS de todas las puertas de enlace del clúster:


kubectl get gateways.networking.istio.io -A -o \
  "custom-columns=NAMESPACE:.metadata.namespace, \
  NAME:.metadata.name,TLS_MODE:.spec.servers[*].tls.mode"

Si el resultado muestra alguna puerta de enlace AUTO_PASSTHROUGH, es posible que se vea afectado.

Mitigación

Actualiza tus clústeres a las versiones más recientes de Anthos Service Mesh:

  • 1.9.5-asm.2
  • 1.8.6-asm.3
  • 1.7.8-asm.8

* Nota: El lanzamiento del plano de control administrado de Anthos Service Mesh (disponible solo en las versiones 1.9.x) se completará en los próximos días.

Alto

CVE-2021-31921

GCP-2021-007

Fecha de publicación: 17 de mayo de 2021
Descripción Gravedad Notas

Istio contiene una vulnerabilidad con capacidad de accesibilidad remota en la que una ruta de acceso de HTTP con múltiples barras o caracteres de barra con escape (%2F or %5C) podría omitir una política de autorización de Istio cuando se usan reglas de autorización basadas en la ruta.

En una situación en la que un administrador de clúster de Istio define una política de DENEGACIÓN de autorización para rechazar la solicitud a la ruta "/admin", la política de autorización NO rechazará una solicitud enviada a la ruta de URL "//admin".

Según el RFC 3986, la ruta "//admin" con varias barras técnicamente debe tratarse como una ruta diferente a "/admin". Sin embargo, algunos servicios de backend eligen normalizar las rutas de URL mediante la combinación de varias barras en una sola barra. Esto puede ocasionar una omisión de la política de autorización ("//admin" no coincide con "/admin") y un usuario puede acceder al recurso en la ruta "/admin" del backend.

¿Qué debo hacer?

Verifica si tus clústeres se ven afectados

Esta vulnerabilidad afecta a tu clúster si tienes políticas de autorización que usen patrones “ALLOW action + notPaths field” o “DENY action + paths field”. Estos patrones son vulnerables a omisiones de políticas inesperadas, y debes actualizar para solucionar el problema de seguridad lo antes posible.

El siguiente es un ejemplo de una política vulnerable que usa el patrón "DENY action + paths field":


apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: deny-path-admin
spec:
  action: DENY
  rules:
  - to:
    - operation:
        paths: ["/admin"]

El siguiente es otro ejemplo de política vulnerable que usa el patrón "ALLOW action + notPaths field":


apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: allow-path-not-admin
spec:
  action: ALLOW
  rules:
  - to:
    - operation:
        notPaths: ["/admin"]

Esta vulnerabilidad no afecta a tu clúster si ocurre lo siguiente:

  • No tienes políticas de autorización.
  • Las políticas de autorización no definen campos paths o notPaths.
  • Tus políticas de autorización usan patrones “ALLOW action + paths field” o patrones de “DENY action + notPaths field”. Estos patrones solo podrían provocar un rechazo inesperado en lugar de omisiones de políticas.
  • La actualización es opcional para estos casos.

Mitigación

Actualiza tus clústeres a las versiones compatibles más recientes de Anthos Service Mesh*. Estas versiones admiten la configuración de los proxies de Envoy en el sistema con más opciones de normalización:

  • 1.9.5-asm.2
  • 1.8.6-asm.3
  • 1.7.8-asm.8

* Nota: El lanzamiento del plano de control administrado de Anthos Service Mesh (disponible solo en las versiones 1.9.x) se completará en los próximos días.

Sigue la guía de prácticas recomendadas de seguridad de Istio para configurar tus políticas de autorización.

Alto

CVE-2021-31920

GCP-2021-004

Fecha de publicación: 6 de mayo de 2021
Descripción Gravedad Notas

Recientemente, los proyectos de Envoy y Istio anunciaron varias vulnerabilidades de seguridad nuevas (CVE-2021-28682, CVE-2021-28683 y CVE-2021-29258), que podrían permitir que un atacante bloquee Envoy y, posiblemente, renderizar partes del clúster inaccesible y sin conexión

Esto afecta los servicios entregados, como Anthos Service Mesh.

¿Qué debo hacer?

Para solucionar estas vulnerabilidades, actualiza tu paquete de Anthos Service Mesh a una de las siguientes versiones de parche:

  • 1.9.3-asm.2
  • 1.8.5-asm.2
  • 1.7.8-asm.1
  • 1.6.14-asm.2

Para obtener más información, consulta las notas de la versión de Anthos Service Mesh.

Alto

CVE-2021-28682
CVE-2021-28683
CVE-2021-29258