CSIRT-DCP-ALE-2018-003
|
Bulletin d'alerte de sécurité du CSIRT DOCAPOST
Vulnérabilité dans Drupal Core 6.x / 7.x / 8.x |
Sommaire
- 1 Gestion du document
- 2 Risque(s) / Impact(s)
- 3 Résumé de la vulnérabilité ou de la menace
- 4 Vecteur(s) d'infection(s) / d'attaque(s)
- 5 Système(s) affecté(s)
- 6 Résumé
- 7 Contre mesure(s)
- 8 Mesure(s) réactive(s)
- 9 mod_Security
- 10 F5 ASM Mitigation
- 11 IoC
- 12 Documentations et informations techniques
- 13 Gestion détaillée du document
Gestion du document
|
Date de la première version : |
28/03/2018 |
|
Date de la dernière version : |
30/03/2018 |
|
Version : |
1.2 |
|
Source : |
ANSSI : Agence National de la Sécurité des Systèmes d’Information |
Risque(s) / Impact(s)
Score CVSS
|
|
Risque(s)
- Exécution de code arbitraire à distance
Impact(s)
- Perte de la confidentialité de la donnée
- Perte de l'intégrité de la donnée
- Perte de la disponibilté de la donnée
Résumé de la vulnérabilité ou de la menace
Le 28 mars 2018, l'éditeur du système de gestion de contenu Drupal a publié un avis de sécurité concernant une vulnérabilité critique dans Drupal core. L'avis SA-CORE-2018-002 indique que les systèmes Drupal en versions 7.x, 8.5.x, mais également les systèmes n'étant plus supportés (version 8.3.x, 8.4.x et 6), sont affectés par une vulnérabilité hautement critique pouvant mener à la compromission complète d'un site web basé sur Drupal.
Cette vulnérabilité, identifiée en tant que CVE-2018-7600, permettrait à un visiteur d'un site vulnérable d'accéder à toutes les données contenues sur le site, de les modifier et de les supprimer, et ce sans authentification.
Le C.O.S.C recommande d'appliquer au plus tôt les correctifs de sécurité mis à disposition par Drupal ou d'appliquer les contre-mesures réactives.
Vecteur(s) d'infection(s) / d'attaque(s)
L'avis de sécurité ne mentionne pas tous les détails concernant la vulnérabilité, et aucun exploit disponible publiquement n'a encore été détecté sur les réseaux.
Cependant, en raison de la nature de Drupal (Open-Source), nous pouvons comprendre le contexte du changement en utilisant le commit Git.
Le changement de code montre une bibliothèque ajoutée au code: request-sanitizer.inc. La fonction principale de la bibliothèque est appelée "stripDangerousValues".
Cela donne un indice évident qu'il existe des problèmes de sanitization des entrées utilisateur avec Drupal. Cela signifie que l'entrée de l'utilisateur risque d'être évaluée de façon non sûre dans des méthodes d'exécution de code non protégées. En d'autres termes, une exécution de code à distance arbitraire et plus.
Par conséquent, un exemple d'exploit peut ressembler à ce qui suit:
index.php? page ['# payload'] = home.php
Système(s) affecté(s)
- Drupal versions 8.5.x antérieures à 8.5.1
- Drupal versions 8.4.x antérieures à 8.4.6
- Drupal versions 8.3.x antérieures à 8.3.9
- Drupal versions 7.x antérieures à 7.58
- Drupal version 6
Résumé
Une vulnérabilité d'exécution de code à distance existe dans plusieurs sous-systèmes de Drupal 7.x et 8.x. Cela permet potentiellement aux attaquants d'exploiter plusieurs vecteurs d'attaque sur un site Drupal, ce qui pourrait entraîner la compromission complète du site.
Contre mesure(s)
Mettre à niveau vers la version la plus récente de Drupal 7 ou 8 core.
Si vous utilisez 7.x, passez à Drupal 7.58. (Si vous ne parvenez pas à effectuer la mise à jour immédiatement, vous pouvez essayer d'appliquer ce correctif pour corriger la vulnérabilité jusqu'à ce que vous puissiez effectuer une mise à jour complète.)
Si vous exécutez 8.5.x, effectuez une mise à niveau vers Drupal 8.5.1. (Si vous ne parvenez pas à effectuer la mise à jour immédiatement, vous pouvez essayer d'appliquer ce correctif pour corriger la vulnérabilité jusqu'à ce que vous puissiez effectuer une mise à jour complète.)
Drupal 8.3.x et 8.4.x ne sont plus supportés. L'éditeur ne fournies généralement pas les versions de sécurité pour les versions mineures non supportées. Cependant, étant donné la gravité potentielle de ce problème, l'éditeur fournies des versions 8.3.x et 8.4.x qui incluent le correctif pour les sites qui n'ont pas encore eu la possibilité de passer à la version 8.5.0.
La page de rapport de mise à jour du CMS recommandera la version 8.5.x même si vous utilisez le format 8.3.x ou 8.4.x. Veuillez prendre le temps de mettre à jour vers une version prise en charge après l'installation de cette mise à jour de sécurité.
Si vous exécutez 8.3.x, effectuez une mise à niveau vers Drupal 8.3.9 ou appliquez ce correctif. Si vous exécutez 8.4.x, mettez à niveau versDrupal 8.4.6 ou appliquez ce correctif.
Ce problème affecte également Drupal 8.2.x et les versions antérieures, qui ne sont plus prises en charge. Si vous exécutez l'une de ces versions de Drupal 8, mettez à jour vers une version plus récente, puis suivez les instructions ci-dessus.
Ce problème affecte également Drupal 6. Drupal 6 est en fin de vie. Pour plus d'informations sur le support Drupal 6, veuillez contacter un fournisseur D6LTS.
Mesure(s) réactive(s)
En cas d'impossibilité de patché le noyeau Drupal voici les contre-mesures réactives à deployer sur un système Apache avec mod_Security et les Firewall Web Applicatif du constructeur F5 ASM
mod_Security
# SPECIFIC: Block #submit #validate #process #pre_render #post_render #element_validate
#after_build #value_callback parameters
SecRule REQUEST_FILENAME "(index\.php|\/$)"
"chain,id:003294,t:lowercase,t:none,t:utf8toUnicode,t:urlDecodeUni,t:urldecode,block"
SecRule REQUEST_METHOD "^(GET|POST|HEAD)$" chain
SecRule ARGS_NAMES|REQUEST_COOKIES_NAMES "^\# (submit|validate|pre_render|post_render|element_validate|after_build|value_callback|process)$|\ [(?:\'|\")?# (submit|validate|pre_render|post_render|element_validate|after_build|value_callback|process)"
# GENERIC: Block all parameters starting with #
SecRule REQUEST_FILENAME "(index\.php|\/$)"
"chain,id:003309,t:lowercase,t:none,t:utf8toUnicode,t:urlDecodeUni,t:urldecode,block"
SecRule REQUEST_METHOD "^(GET|POST|HEAD)$" chain
SecRule ARGS_NAMES|REQUEST_COOKIES_NAMES "^\#|\[(?:\'|\")?\#.*\]"
F5 ASM Mitigation
ASM est capable de détecter ce vecteur d'attaque en utilisant la signature "SQL-INJ" '# "(commentaire SQL) (Paramètre)":
Néanmoins, une ASU contenant des signatures spécifiques à cette vulnérabilité a été publié et prête à être téléchargée.
IoC
- Aucun à la rédaction de l'alerte
Documentations et informations techniques
- PSA-2018-001
- SA-CORE-2018-002
- CVE-2018-7600
- Foire aux questions sur la vulnérabilités CVE-2018-7600
- Security risk levels defined
Gestion détaillée du document
- 28/03/2018 : Serge Carpentier : 1.0 : Création
- 29/03/2018 : Serge Carpentier : 1.1 : Ajout d'information
- 30/03/2018 : Serge Carpentier : 1.2 : Ajout des contre-mesures
- 30/03/2018 : Serge Carpentier : 1.2 : Modifications des versions
- 30/03/2018 : Serge Carpentier : 1.2 : Ajout du résumé de la menace



