Se han descubierto dos vulnerabilidades críticas en la biblioteca de código abierto ruby-saml, que podrían permitir a atacantes maliciosos eludir las protecciones de autenticación del estándar SAML (Security Assertion Markup Language).
SAML es un estándar XML abierto utilizado para intercambiar datos de autenticación y autorización entre diferentes sistemas, habilitando funciones como el inicio de sesión único (SSO), que permite a los usuarios acceder a múltiples servicios con un único conjunto de credenciales.
Las vulnerabilidades, identificadas como CVE-2025-25291 y CVE-2025-25292, tienen una puntuación CVSS de 8,8 sobre 10. Afectan las versiones de la biblioteca:
- < 1.12.4
- = 1.13.0, < 1.18.0
Ambas vulnerabilidades provienen de las diferencias en cómo los analizadores XML REXML y Nokogiri procesan el XML, lo que da lugar a estructuras de documentos inconsistentes a partir de la misma entrada XML.
Este desajuste permite que un atacante realice un ataque de “encapsulamiento de firma” para eludir la autenticación. Las vulnerabilidades ya han sido corregidas en las versiones 1.12.4 y 1.18.0 de ruby-saml.
GitHub, propiedad de Microsoft, descubrió y reportó estas fallas en noviembre de 2024, advirtiendo que actores maliciosos podrían explotarlas para llevar a cabo ataques de apropiación de cuentas.
Según Peter Stöckli, investigador de seguridad en GitHub, los atacantes con una firma válida podrían usarla para crear sus propias afirmaciones SAML y acceder como cualquier usuario.
El problema se debe a una “desconexión” entre la verificación del hash y la verificación de la firma, lo que abre la puerta a explotaciones mediante un analizador diferencial.
Además, las versiones 1.12.4 y 1.18.0 presentan una vulnerabilidad de denegación de servicio (DoS) remota al procesar respuestas SAML comprimidas (CVE-2025-25293, puntuación CVSS: 7,7). Se recomienda a los usuarios actualizar a la última versión para protegerse de estas amenazas.
Este hallazgo se da casi seis meses después de que GitLab y ruby-saml corrigieran otra vulnerabilidad crítica (CVE-2024-45409, puntuación CVSS: 10.0), que también permitía eludir la autenticación.”
Fuente: thehackernews.com