Resumen
3.0.5. passport-wsfed-saml2 es un proveedor de autenticación de Passport.js para el protocolo WS-Federation y los tokens SAML2.
Esta vulnerabilidad permite a un atacante hacerse pasar por otro usuario y, potencialmente, elevar sus privilegios si el no firma la respuesta SAML completa, sino únicamente la aserción dentro de la respuesta.
Un atacante que explote con éxito esta vulnerabilidad podría usar esa respuesta para crear una solicitud con un NameIdentifier distinto con el fin de iniciar sesión como otro usuario. Un actor malicioso también podría llevar a cabo un ataque de escalada de privilegios si se autentica como un usuario concreto con privilegios administrativos. El atacante debe tener una cuenta existente o ser capaz de interceptar el tráfico cifrado y modificar la respuesta SAML en tiempo real.
Esta actualización corrige la vulnerabilidad al evitar ataques de wrapping en los elementos Assertion y Response, además de introducir algunos cambios defensivos en las expresiones XPath. También se ha implementado una actualización para mejorar la forma de registrar la información sobre la firma de la respuesta SAML.
Corregir esta vulnerabilidad requiere actualizar la biblioteca.
¿Estoy afectado?
- firmaba la respuesta SAML y la aserción
- no firmaba la respuesta SAML, pero sí la aserción
¿Cómo solucionarlo?
3.0.5.
Los paquetes actualizados están disponibles en npm. Para asegurarse de recibir futuras correcciones de errores, compruebe que su archivo package.json esté configurado para aceptar actualizaciones de parche y de versiones secundarias de nuestras bibliotecas.