Les correctifs php2shell (CVE-2026-109618 et CVE-2026-109619) pour les versions de PHP en fin de vie sont désormais disponibles. Les réponses du service commercial étant plus lentes que d'habitude en raison d'une forte demande, le moyen le plus rapide d'obtenir les paquets corrigés est d'acheter ELS for Runtimes en ligne (s'ouvre dans un nouvel onglet). | Consulter la FAQ sur les correctifs
Note: dans la version 5.8.16.tuxcare, nous appliquons notre correctif à la dernière version communautaire open-source disponible comme base de référence.
Ce CVE a été résolu par l'équipe TuxCare et
un correctif a été fourni à ELS pour les utilisateursde Spring®.
Spring® Security est un puissant framework d'authentification et de contrôle d'accès pour les applications Java, en particulier celles développées à l'aide du frameworkSpring®. Il fournit une solution de sécurité complète, répondant à divers besoins tels que l'authentification, l'autorisation et la protection contre les vulnérabilités de sécurité courantes.
Il y a authentification incorrecte lorsqu'un acteur prétend avoir une identité donnée, mais que le produit ne prouve pas ou pas suffisamment que l'affirmation est correcte.
Dans cette vulnérabilité CVE,Spring® Security BCryptPasswordEncoder n'impose pas de longueur maximale pour les mots de passe. BCryptPasswordEncoder.matches(CharSequence,String) renvoie à tort la valeur « true » pour les mots de passe de plus de 72 caractères, tant que les 72 premiers caractères sont identiques.
Ce problème affecte plusieurs versions du paquet org.springframework.security:spring-security-crypto.
| Dossier de vulnérabilité | |
|---|---|
| ID CVE | 22228 |
| Sévérité | Haut : 7,4 |
| CWE-ID et nom | CWE-287: Authentification incorrecte |
| Projet concerné | SécuritéSpring® |
| Paquets concernés | spring-security-crypto |
| Versions concernées | 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> |
| Date de publication de la NVD | 20 mars 2025 |
| Date de correction de TuxCare | 26 mars 2025 |
| TuxCare version fixe | 5.8.16.tuxcare |
Les mots de passe hachés par BCrypt ont une longueur maximale de 72 caractères. La fonction hashpw de la classe BCrypt de spring-security-crypto ne hache que les 72 premiers caractères d'un mot de passe. Tout mot de passe plus long ne sera validé que sur la base de ses 72 premiers caractères.
Après l'application du correctif, les mots de passe existants dépassant 72 caractères doivent être réinitialisés pour fonctionner correctement, car un utilisateur avec un tel mot de passe ne pourra tout simplement pas se connecter. Les nouveaux mots de passe dont la longueur dépasse 72 caractères ne sont pas acceptés.
L'application du test (crédit : Joe Grandja) ci-dessous permet de tester cette vulnérabilité.
@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 n'est plus pris en charge par la communauté open source, car sa date de fin de vie est fixée au 31 décembre 2023. Cela signifie simplement que les versions postérieures à cette date ne bénéficieront d'aucune mise à jour pour résoudre ce problème.
Les utilisateurs des composants concernés doivent appliquer l'une des mesures d'atténuation suivantes :
Si vous avez besoin d'une solution pour cette vulnérabilité pour toute autre versionde Spring® Security, veuillez nous contacter, nous sommes là pour vous aider !