Fallo en Golang XML parser puede causar un bypass con la autenticación SAML

Dependency Injection and IoC Container in Go (Golang) | by Milad Rahimi |  Medium

Actualmente se ha revelado tres vulnerabilidades criticas dentro del XML parser del lenguaje de programación Golang, esto permitiría a atacantes omitir completamente la autenticación SAML que están presente en muchas páginas Web.

Las tres vulnerabilidades están relacionadas en la forma en la que Go procesa los documentos XML en algunas rondas de análisis, de esta manera es posible que los atacantes usen un margen para engañar al sistema.

Existen algunos problemas potencialmente severos en seguridad creadas por estos defectos. Pero el más importante es tener el riesgo de comprometer la integridad del web-based SAML single sign-on.

Juho Nurminen, product security engineer at Mattermost

Las vulnerabilidades son las siguientes

CVE-2020-29509 es una inestabilidad de atributos XML en la codificación / xml de Go. Una aplicación afectada podría interpretar una afirmación SAML como firmada y proceder a leer valores que no se encuentran firmados en el documento debido principalmente a mutación en el espacio de nombres entre la verificación de la firma y el acceso a los datos. Es decir, que puede terminar omitiendo la autenticación completa y escalar privilegios dentro de un proveedor de servicios SAML.

Las siguientes dos vulnerabilidades, CVE-2020-29510 y CVE-2020-29511, el primero es una inestabilidad de la directiva XML mientras que el segundo es una inestabilidad del elemento XML. Ambos pueden omitir la autenticación como la primera vulnerabilidad mencionada.

Actualmente, no ha sido posible realizar el arreglo de esta vulnerabilidad, aunque el equipo Go ha notificado que espera realizar algunos cambios en futuras versiones del lenguaje para solucionar las vulnerabilidades.

Más información: