TLP: Amber
NIVEL DE RIESGO CVSSv3.1 – 9.8 [Crítico]
Acción Requerida: Aplicar la solución temporal a los sistemas afectados.
Vector de ataque: Red.
Impacto: Omisión de la autenticación y elevación de privilegios.

Descripción

Se han descubierto 3 vulnerabilidades críticas dentro del analizador “XML” del lenguaje de programación Go. Dichas vulnerabilidades, pueden afectar a múltiples implementaciones “SAML” basadas en Go, y conducir a una omisión completa de la autenticación SAML y una escala de privilegios.

Las tres vulnerabilidades identificadas son ocasionadas a la forma en cómo Go procesa los documentos XML en los análisis, lo que permite a los usuarios maliciosos utilizar un lenguaje de marcado XML específico para engañar a los sistemas. A las vulnerabilidades encontradas se les asignaron los siguientes identificadores:

  1. CVE-2020-29509 (CVSSv3.1: 9.8[Crítico])
  2. CVE-2020-29510 (CVSSv3.1: 9.8[Crítico])
  3. CVE-2020-29511 (CVSSv3.1: 9.8[Crítico])

La primera vulnerabilidad, se debe a una inestabilidad del atributo XML en la codificación de XML, la cual puede interpretar una afirmación SAML como firmada, para luego leer los valores de una parte que no está firmada del mismo documento, debido al espacio de nombres entre la verificación de la firma y el acceso a los datos.

Las dos fallas CVE-2020-29510 y CVE-2020-29511, pueden ser aprovechadas para evitar completamente la autenticación, la primera corresponde a una inestabilidad de la directiva XML en la codificación, mientras que el segundo es una inestabilidad del elemento XML en la codificación.

Los investigadores aseguran que los atacantes pueden engañar varias implementaciones de SAML que se basan en dicho analizador XML, para omitir la autenticación por completo. A pesar de lo anterior, no existe una actualización para resolver estas vulnerabilidades, sin embargo, los desarrolladores publicaron versiones fijas para algunos de los proyectos SAML individuales basados en Go. Cabe mencionar que los expertos han proporcionado una herramienta “xml-roundtrip-validator”, la cual se puede utilizar como una solución temporal para incorporar la validación XML en una aplicación.

Nivel de riesgo

  • Alto

Sistemas/tecnologías afectadas:

Vulnerabilidad CVE-2020-29509 y CVE-2020-29511

  • Todas las versiones de Go

Vulnerabilidad CVE-2020-29510

  • Go con Versiones anteriores a 1.15

Medidas de contención

Referencias