Boletines de seguridad

En esta página, se enumeran los boletines de seguridad de Istio en Google Kubernetes Engine (Istio en GKE).

Usa este feed XML para suscribirte a los boletines de seguridad de Istio on GKE. Suscribirse

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:

  • Usa Istio on GKE 1.6 con versiones de parches anteriores a 1.6.14-gke.5. (Istio on GKE 1.4 no se ve afectado porque su política de autorización rechaza el tráfico de forma predeterminada).
  • Usa políticas de autorización con DENY actions y operation.paths, o ALLOW actions y operation.notPaths.
Mitigación

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

  • 1.6.14-gke.5

Con la versión nueva, 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:

  • Usa Istio on GKE 1.6 con versiones de parches anteriores a 1.6.14-gke.5. (Istio on GKE 1.4 no se ve afectado porque su política de autorización rechaza el tráfico de forma predeterminada y no es compatible con notHosts).
  • Usa políticas de autorización con DENY actions en función de operation.hosts o ALLOW actions en función de operation.notHosts.
Mitigación

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

  • 1.6.14-gke.5

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 versiones de parche anteriores a 1.4.10-gke.17 o 1.6.14-gke.5.
  • Usa la extensión de autorización externa (ext_authz) de Istio on GKE.
Mitigación

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

  • 1.4.10-gke.17
  • 1.6.14-gke.5

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 versiones de parche anteriores a 1.4.10-gke.17 o 1.6.14-gke.5.
  • Usa EnvoyFilter.
Mitigación

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

  • 1.4.10-gke.17
  • 1.6.14-gke.5

Alto

CVE-2021-32781

GCP-2021-004

Publicada: 07-05-2021
Descripción Gravedad Notas

El proyecto Envoy/Istio recientemente anunció varias vulnerabilidades de seguridad nuevas que afectan Istio y Anthos Service Mesh en Google Kubernetes Engine:

  • CVE-2021-28682: Envoy hasta la versión 1.17.1 contiene un desbordamiento de números enteros que se puede aprovechar de manera remota, en el que un valor de tiempo de espera de grpc muy grande genera cálculos de tiempo de espera inesperados.
  • CVE-2021-28683: Envoy hasta la versión 1.17.1 contiene una referencia de puntero NULL que se puede aprovechar de manera remota y falla en TLS cuando se recibe un código de alerta de TLS desconocido.
  • CVE-2021-29258: Envoy hasta la versión 1.17.1 contiene una vulnerabilidad que se puede aprovechar de manera remota, en la que una solicitud HTTP2 con un mapa de metadatos vacío puede causar fallas en Envoy.

¿Qué debo hacer?

Para solucionar estas vulnerabilidades, actualiza a la versión más reciente del parche. Para obtener instrucciones, consulta Actualiza Istio on GKE.

Alto

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