La idea de que los usuarios puedan llevar su propia cuenta a la empresa funciona hasta cierto punto en el sitio mismo, pero no evita que una app lea la membresía de la organización al iniciar sesión con GitHub
La sesión de SAML solo es necesaria cuando se obtienen datos mediante un token que el usuario consiguió
Las herramientas SAST casi siempre usan tokens de instancia de la app y muestran el código a cualquiera que tenga una cuenta de GitHub
Tailscale resolvió este problema, pero Sonarcloud pidió mantenerlo en secreto, y GitHub respondió semanas después que este comportamiento era el esperado
Reportar bugs de seguridad es un trabajo poco agradecido
Recientemente me tocó implementar SAML, y este titular no me sorprende en absoluto
La especificación de SAML en sí es razonable, pero está basada en firmas XML y canonicalización XML, así que es extremadamente compleja
Solo un comité podría combinar ideas tan contradictorias
SAML (y más ampliamente XML-DSIG) es generalmente el peor protocolo de seguridad de uso común
Hay que tomar todas las medidas necesarias para migrar a OAuth
No dependería de esto al lanzar un producto nuevo al mercado
A menos que haya un gran avance en verificación formal práctica, las vulnerabilidades de DSIG no serán las últimas ni las peores
No se debe usar REXML
Analiza XML inválido con gusto y causa una cantidad infinita de problemas
Analizar XML con expresiones regulares es un antipatrón
Los proyectos no usaron Nokogiri por rendimiento, sino por exactitud
Excelente artículo
Gracias a ahacker1 por su trabajo de seguridad en implementaciones de SAML
WorkOS escribió un artículo sobre su colaboración con ahacker1
Se encontró una vulnerabilidad en GitLab y se notificó al equipo de seguridad
GitLab la corrigió
Artículo de Latacora de 2019 sobre cómo firmar objetos JSON
Anidar y firmar árboles es difícil
Es más fácil conservar el mensaje como una cadena cruda y firmarlo
La conclusión más simple es buscar la firma donde debería estar
No se debe usar un XPath genérico que busque firmas en ubicaciones inesperadas
Molesta que una entrada de blog explique la vulnerabilidad y omita las diferencias de parser relacionadas
Es como escribir la introducción de una historia y omitir el clímax
Acabo de leer por primera vez los detalles técnicos de las firmas XML y me mareé
Me pregunto si hay alguna razón no heredada para no usar autenticación cifrada de clave pública de libsodium (crypto_box) en lugar de SAML
También me pregunto si existe un riesgo no teórico de diferencias de parser al usar crypto_box de libsodium y x/crypto/nacl/box de Golang
1 comentarios
Opiniones de Hacker News
La implementación de SAML de GitHub es inútil
Recientemente me tocó implementar SAML, y este titular no me sorprende en absoluto
SAML (y más ampliamente XML-DSIG) es generalmente el peor protocolo de seguridad de uso común
No se debe usar REXML
Excelente artículo
Se encontró una vulnerabilidad en GitLab y se notificó al equipo de seguridad
Artículo de Latacora de 2019 sobre cómo firmar objetos JSON
La conclusión más simple es buscar la firma donde debería estar
Molesta que una entrada de blog explique la vulnerabilidad y omita las diferencias de parser relacionadas
Acabo de leer por primera vez los detalles técnicos de las firmas XML y me mareé
crypto_box) en lugar de SAMLcrypto_boxde libsodium yx/crypto/nacl/boxde Golang