Les versions 7.0 à 8.2 du CMS Sitecore contiennent une vulnérabilité critique dans le module de protection anti-CSRF (cross-site request forgery). Un attaquant peut falsifier la valeur de __CSRFTOKEN dans une requête HTTP POST et y inclure une charge utile malveillante. Étant donné que le serveur fait confiance à ce jeton et le traite de manière non sécurisée, l’attaquant peut exécuter du code arbitraire sur le serveur Sitecore sans aucune authentification. En d’autres termes, en manipulant un jeton d’authentification, un attaquant non authentifié peut obtenir le contrôle total d’une instance Sitecore vulnérable.
| Produit | Sitecore |
| Date | 28/04/2025 10:42:58 |
| Informations |
|
Résumé technique
Module vulnérable : La bibliothèque
Sitecore.Security.AntiCSRFde Sitecore est conçue pour désérialiser un jeton CSRF afin de vérifier les requêtes. Cependant, elle désérialise le contenu du jeton sans en valider l’origine ou la sécurité. Cela signifie que des données contrôlées par un attaquant sont transmises directement au désérialiseur.Vecteur d’exploitation : L’exploit utilise le paramètre HTTP POST
__CSRFTOKEN. Un attaquant peut créer un objet .NET sérialisé de manière malveillante et l’insérer comme valeur de__CSRFTOKEN. Lorsque le code Anti-CSRF de Sitecore désérialise cet objet, toute commande ou script inséré à l’intérieur est exécuté sur le serveur.Absence de validation ⇒ RCE : Comme il n’y a aucune validation appropriée ou liste blanche sur le contenu désérialisé, n’importe quelle charge utile sera acceptée. En pratique, cela permet une exécution de code à distance (RCE) sur le serveur. Le code de l’attaquant est exécuté avec les privilèges du processus Sitecore, ce qui peut mener au contrôle total du serveur.
Attaque non authentifiée : Il est important de noter que la CVE-2019-9874 ne nécessite aucune connexion. Toutes les instances de Sitecore CMS des versions 7.0–7.2 et XP 7.5–8.2 (incluant la 6.6.3 selon certains avis) sont vulnérables. Un attaquant peut envoyer la charge utile via Internet vers n’importe quel site Sitecore exposé publiquement utilisant ces versions et déclencher la vulnérabilité.
Preuve de concept (PoC) : Les chercheurs ont démontré l’exploit en utilisant des outils comme
ysoserial.net. Par exemple, en générant une charge utile malveillante (en utilisant le gadgetTypeConfuseDelegatepour exécuter une commande PowerShell) et en l’encodant en base64. En envoyant cette valeur dans__CSRFTOKEN(par exemple, via un POST vers la page d’administration de Sitecore à/sitecore/shell/Applications/Security/CreateNewUser.aspx), le serveur désérialise et exécute la charge utile. Lors des tests, cela a permis l’ouverture d’un shell ou l’exécution de commandes arbitraires sur le système cible, confirmant la RCE.
Recommandations
Appliquer les correctifs officiels : Installez immédiatement les mises à jour de sécurité ou les correctifs (hotfixes) de Sitecore. (Pour les versions plus anciennes, Sitecore a publié un correctif spécifique pour le module Anti-CSRF).
Mettre à jour Sitecore : Mettez à jour toutes les instances vers une version corrigée. Sitecore XP 9.1.1 Update-1 ou supérieur inclut le correctif pour ce problème. Maintenir Sitecore à la dernière version supportée garantit la résolution de cette vulnérabilité et d’autres.
Restreindre les points de terminaison administratifs : En attendant, bloquez ou filtrez via un pare-feu l’accès aux chemins administratifs de Sitecore (ex. le répertoire
/sitecore/shellet les applications associées) depuis des réseaux non approuvés. Par exemple, refusez les requêtes externes vers/sitecore/shellafin que seul l’accès interne ou authentifié soit autorisé.Valider les entrées et surveiller : Appliquez une validation rigoureuse sur toutes les entrées et tous les jetons dans le code personnalisé. Même après l’application des correctifs, surveillez les journaux de Sitecore et le trafic web à la recherche de valeurs inhabituelles dans
__CSRFTOKENou de requêtes POST répétées vers les pages d’administration de Sitecore, car ce sont des indicateurs potentiels d’exploitation. Enquêtez rapidement sur toute erreur de désérialisation ou trace d’exécution de commande.
[Callforaction-THREAT-Footer]
Leave a Reply