Une vulnérabilité critique d’injection SpEL dont l’abus conduit à l’exécution de code à distance (RCE) a été corrigée dans Spring Data MongoDB, qui fournit un support de document objet et des référentiels pour MongoDB.
Exploitation réussie de la faille (CVE-2022-22980), qui a un score CVSS presque maximal de 9,8, « permettrait à un attaquant d’exécuter du code arbitraire avec des privilèges hérités du processus Spring MongoDB », a déclaré Sam Quinn, chercheur principal en sécurité chez Trellix Threat Labs.
First.org a classé la faille parmi les 10 premiers CVE susceptibles d’être utilisés dans la nature au cours des 30 derniers jours, a ajouté Quinn, et sa facilité d’exploitation et le nombre de exploiter des preuves de concept disponible le conduit à « soupçonner que cette vulnérabilité continuera de gagner en popularité ».
Expliquez-le
Données de printemps MongoDBqui fait partie du projet Spring de VMWare, s’intègre à MongoDB, une plate-forme de base de données NoSQL orientée document avec plus de 26 800 clients.
SPEL – ou Langage d’expression de printemps – prend en charge l’interrogation et la manipulation de graphiques d’objets lors de l’exécution.
UN conseil en sécurité publié par VMware se lit comme suit : « Une application Spring Data MongoDB est vulnérable à l’injection SpEL lors de l’utilisation de méthodes de requête annotées @Query ou @Aggregation avec des expressions SpEL contenant des espaces réservés de paramètre de requête pour la liaison de valeur si l’entrée n’est pas nettoyée. »
Selon Quinn : « Étant donné que le serveur est configuré sans assainissement de l’entrée de l’utilisateur, l’attaquant doit simplement saisir une expression SpEL malveillante dans le champ de recherche de la base de données pour obtenir l’exécution du code. »
L’application n’est apparemment pas vulnérable si le référentiel est configuré pour utiliser un CQueryMethodEvaluationContextProviderCQueryMethodEvaluationContextProvider qui limite l’utilisation de SpEL.
Mises à jour, atténuations
Cette vulnérabilité a été découverte par Zewei Zhang de NSFOCUS TIANJI Lab, qui a signalé le problème le 13 juin 2022. Spring a publié des versions corrigées de Spring Data MongoDB, 3.4.1 et 3.3.5, seulement sept jours plus tard, le 20 juin.
La faille affecte les versions 3.4.0, 3.3.0 à 3.3.4, ainsi que les anciennes versions non prises en charge.
Au lieu de mettre à jour l’application, les développeurs peuvent se protéger en réécrivant les déclarations de requête ou d’agrégation pour utiliser des références de paramètre dans l’expression (par exemple, en utilisant ‘[0]‘ à la place de ‘?0‘).
D’autres étapes d’atténuation incluent la désinfection des paramètres avant d’appeler la méthode de requête et la reconfiguration du bean de fabrique de référentiel via un BeanPostProcessor avec un nombre limité QueryMethodEvaluationContextProviderQueryMethodEvaluationContextProvider.
Trellix Threat Labs a examiné la faille de sécurité plus en détail dans son dernier rapport de bogue de juin.
Mis-SpEL
Le projet Spring n’a abordé une autre vulnérabilité critique d’injection SpEL qu’en mars, une faille d’exécution de code à distance (RCE) affectant le framework informatique Spring Cloud.
En quelques jours, un autre bogue RCE encore plus dangereux est apparu dans le module Core basé sur Java de Spring Framework. Surnommé ‘Spring4Shell’, ce problème est né d’un contournement d’un bug hérité corrigé en 2010.
Quelques jours plus tard, Microsoft et la CISA mettaient en garde contre l’exploitation de « Spring4Shell » dans la nature, avant qu’il n’apparaisse que les acteurs de la menace exploitaient la faille comme vecteur de propagation du botnet Mirai.
La vulnérabilité Spring4Shell impliquait une surface d’attaque étendue, avec « 60% des développeurs Java s’appuyant sur Spring pour les applications, a déclaré Quinn, mais « l’ajout de MongoDB devrait réduire considérablement le volume global de la surface de menace » avec la dernière vulnérabilité. « De plus, des correctifs sont disponibles auprès de VMWare depuis des semaines maintenant, et de nombreuses organisations ont probablement déjà appliqué les correctifs. »