Atténuation d’une vulnérabilité de jour zéro dans Apache Struts

Numéro : AL14-025
Date : Le 24 avril 2014

Objet

La présente alerte vise à attirer l'attention sur la publication récente d'une vulnérabilité de jour zéro dans Apache Struts.

Évaluation

Il a été signalé qu’une vulnérabilité de jour zéro affecte Apache Struts, jusqu’à la version 2.3.16.1. En particulier, il y a un problème de manipulation de ClassLoader via les paramètres de requête dans Struts 2.3.16.1. Ce problème devait être résolu le 2 mars 2014, cependant il a été confirmé que la correction apportée n’a pas été suffisante.

Selon l’équipe d’Apache Struts, un correctif de sécurité est en préparation et sera publié dès que possible. Une fois ce correctif publié, les utilisateurs de Struts 2 sont fortement encouragés de mettre leurs installations à jour.

Mesure suggérée

L’équipe d’Apache Struts a publié les mesures d’atténuations suivantes :

Dans struts.xml, remplacer toutes les références personnalisées à params-interceptor avec le code suivant, en particulier en ce qui concerne la classe-modèle trouvée au début de la liste excludeParams :

<interceptor-ref name="params">
<param
name="excludeParams">(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*</param>
</interceptor-ref>

Si vous utilisez la pile d’intercepteurs par défaut incorporé dans struts-default.xml, changez votre libraire parente à une configuration sécurisée personnalisée tel que dans l’exemple ci-dessous. Puisque vous utilisez la defaultStack, changez vos librairie de :

<package name="default" namespace="/" extends="struts-default">
<default-interceptor-ref name="defaultStack" />
...
...
</package>

à :

<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor-stack name="secureDefaultStack">
<interceptor-ref name="defaultStack">
<param
name="params.excludeParams">(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>

   <default-interceptor-ref name="secureDefaultStack" />
...
</package>

Référence :

 

Note aux lecteurs

En appui à la mission de Sécurité publique Canada de bâtir un Canada sécuritaire et résilient, le mandat du CCRIC est d'aider à assurer la sécurité et la résilience des cybersystèmes essentiels non gouvernementaux à la base de la sécurité nationale, de la sécurité publique et de la prospérité économique du pays. À titre d'équipe d'intervention en cas d'incident lié à la sécurité informatique du Canada, le CCRIC agit comme centre national de coordination pour la prévention, l'atténuation, l'intervention et le rétablissement liés aux incidents cybernétiques commis contre des systèmes non fédéraux. Pour ce faire, il formule des conseils éclairés, offre du soutien et coordonne l'échange de renseignements ainsi que l'intervention.

S'il vous plaît noter que la clé PGP du CCRIC a récemment été mise à jour.
http://www.securitepublique.gc.ca/cnt/ntnl-scrt/cbr-scrt/_fl/CCIRCPublicPGPKey.txt

Pour obtenir des renseignements de nature générale, veuillez communiquer avec la division des Affaires publiques de l'organisme :

Téléphone : 613-944-4875 ou 1-800-830-3118  
Télécopieur : 613-998-9589 
Courriel : ps.communications-communications.sp@canada.ca

Date de modification :