Compruebe el estado de las CVE. Más información.
Ya están disponibles los parches de php2shell (CVE-2026-109618 y CVE-2026-109619) para PHP en fin de vida útil. Dado que las respuestas del departamento de ventas están tardando más de lo habitual debido a la elevada demanda, la forma más rápida de obtener los paquetes parcheados es comprar ELS para Runtimes en línea (se abre en una pestaña nueva). | Lee las preguntas frecuentes sobre los parches
Nota: en la versión 5.8.16.tuxcare, aplicamos nuestro parche a la última versión disponible de la comunidad de código abierto como línea de base.
Este CVE ha sido resuelto por el equipo de TuxCare y
se ha enviado un parche a ELS para los usuariosde Spring®.
Spring® Security es un potente marco de autenticación y control de acceso para aplicaciones Java, especialmente aquellas creadas conSpring® Framework. Proporciona una solución de seguridad integral que aborda diversas cuestiones, como la autenticación, la autorización y la protección contra vulnerabilidades de seguridad comunes.
La autenticación indebida tiene lugar cuando un actor afirma tener una identidad determinada, el producto no prueba o prueba insuficientemente que la afirmación es correcta.
En este CVE,Spring® Security BCryptPasswordEncoder no impone una longitud máxima para las contraseñas, BCryptPasswordEncoder.matches(CharSequence,String) devolverá incorrectamente «true» para contraseñas de más de 72 caracteres, siempre y cuando los primeros 72 caracteres sean iguales.
Este problema afecta a varias versiones del paquete org.springframework.security:spring-security-crypto.
| Dossier de vulnerabilidad | |
|---|---|
| ID de la CVE | 22228 |
| Severidad | Alta: 7,4 |
| ID y nombre del CWE | CWE-287: Autenticación incorrecta |
| Proyecto afectado | Spring® Security |
| Paquetes afectados | spring-security-crypto |
| Versiones afectadas | 5.6.2 and older, <5.7.0;5.7.15>, <5.8.0;5.8.16>, <6.0.0;6.0.15>, <6.1.0;6.1.13>, <6.2.0;6.2.9>, <6.3.0;6.3.7>, <6.4.0;6.4.3> |
| Fecha de publicación de NVD | 20 de marzo de 2025 |
| TuxCare fix date | 26 de marzo de 2025 |
| TuxCare versión fija | 5.8.16.tuxcare |
Las contraseñas con hash BCrypt tienen una longitud máxima de 72 caracteres. La función hashpw de la clase BCrypt de spring-security-crypto cifra sólo los primeros 72 caracteres de una contraseña. Cualquier contraseña más larga sólo será validada en base a sus primeros 72 caracteres.
Tras aplicar el parche, las contraseñas existentes que superen los 72 caracteres deben restablecerse para que funcionen correctamente, ya que un usuario con una contraseña de este tipo simplemente no podrá iniciar sesión. No se aceptan nuevas contraseñas con longitudes superiores a 72 caracteres.
La aplicación de la prueba (crédito: Joe Grandja) a continuación nos permite probar esta vulnerabilidad.
@Test
public void enforcePasswordLength() {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String password72chars = "123456789012345678901234567890123456789012345678901234567890123456789012";
assertThat(encoder.matches(password72chars, encoder.encode(password72chars))).isTrue();
String password73chars = password72chars.concat("a");
assertThatIllegalArgumentException()
.isThrownBy(() -> encoder.matches(password73chars, encoder.encode(password73chars)));
}
Spring® Security 5.8.x ya no es compatible con la comunidad de código abierto, ya que su fecha de fin de vida útil es el 31 de diciembre de 2023. Esto simplemente significa que las versiones a partir de esa fecha no recibirán ninguna actualización para solucionar este problema.
Los usuarios de los componentes afectados deben aplicar una de las siguientes mitigaciones:
¿Necesita una solución para esta vulnerabilidad en cualquier otra versiónde Spring® Security? Póngase en contacto con nosotros, ¡estamos aquí para ayudarle!