ADVISORY: Apache Struts2 S2-052: Remote Code Execution Vulnerability (CVE-2017-9805)

Les lecteurs réguliers de notre blog se souviendront d’une alerte lancée par DenyAll il y a 6 mois sur une faille de sécurité critique au sein de Apache Struts 2, un outil logiciel pour créer des applications web basées sur Java, et qui fonctionnent sur votre serveur web.  Une nouvelle vulnérabilité a été identifiée au sein de Apache Struts 2, affectant les versions 2.1.2 à 2.3.33 et 2.5 à 2.5.12. Le plugin Struts REST prend en charge le format  XML à l’aide d’une librairie de programmation appelée XStream, qui s’avère être plus puissante que nécessaire, pour échanger des données entre navigateurs et serveurs. Via cette vulnérabilité, un XML altéré peut alimenter un serveur Struts, permettant ainsi à des personnes malveillantes d’intégrer à distance des commandes dans ce qui était supposé être des données basiques.

Les produits DenyAll sont-ils impactés par la vulnérabilité Apache Struts2 S2-052 (CVE-2017-9805) ?

Les produits DenyAll ne sont pas impactés puisqu’ils ne reposent pas sur le logiciel Apache Struts 2. Vous trouverez ci-dessous quelques conseils pour vous assurez que les Web Applications Firewalls de DenyAll bloquent toute sorte de payloads XML.  DenyAll vous recommande également de mettre à jour votre version d’Apache Struts 2 dès que possible, sachant que cette vulnérabilité a déjà été fixée dans les versions d’Apache Struts 2.5.13 and 2.3.34. Si une mise à jour n’est pas possible, Apache Struts vous propose une solution de secours sur son site.

DenyAll WAF et iSuite

Les workflows de DenyAll Web Services Firewall (WSF) bloquent tout type d’injection de commande et de payloads XML, comme celui utilisé dans la vulnérabilité Apache Struts2 S2-052 (CVE-2017-9805). La configuration de base de DenyAll Web Services Firewall peut être pris comme exemple, avec un parsing XML avant l’utilisation du moteur de sécurité ICX pour détecter efficacement les injections de command et éviter tout risque de faux positifs lié à la structure XML.

Voici un aperçu du Workflow WSF :

Pour pouvoir bloquer les attaques liées au format XML, vous avez besoin d’une licence concernant DenyAll Web Services Firewall (WSF). Pour plus de détails sur l’analyse des données XML, nous vous invitons à lire la documentation relative sur la plateforme MyDenyAll, réservée aux clients. Si vous n’avez pas une licence WSF, nous vous invitons à contacter le support DenyAll pour atténuer l’exploitation de la vulnérabilité.

DenyAll rWeb

Par défaut, la Blacklist, Scoringlist et le moteur de sécurité pour les injections de commande vont bloquer les payloads XML mais ne bloqueront pas les injections de commande liés à une changement de structure XML. Nous vous recommandons d’ajouter une règle de sécurité personnalisée dans la Blacklist qui permettra de bloquer type d’injection :

Pattern utilisé dans l’image ci-dessus :

<command\>[^\<]*+\<string\>.*\<\/string\>[^\<]*+<\/command\>

Pour plus de détails, nous vous invitons à déposer un commentaire à la fin de cet article ou à contacter le support client sur la plateforme MyDenyAll.

Xavier Quoniam, Marketing Manager on Linkedin
Xavier Quoniam, Marketing Manager
Xavier est notre Marketing Manager. Il est passionné par les nouvelles technologies qui transforment la façon dont les entreprises communiquent. Il nous apporte sa passion, sa curiosité et ses idées innovantes pour promouvoir au mieux DenyAll et Cloud Protector.