1 Alerte du CERTA sur l’exploitation d’une vulnérabilité non corrigée dans Microsoft Windows

Aujourd’hui le CERTA a alerté sur l’exploitation d’une vulnérabilité non corrigée dans Microsoft Windows.

Symantec et le Laboratory of Cryptography and System Security (CrySys) ont découvert une vulnérabilité non corrigée et exploitée sur l’Internet par le logiciel malveillant Duqu. Microsoft a publié un avis de sécurité 2639658 détaillant les mesures de protection immédiates pouvant être mises en œuvre.

Le logiciel malveillant Duqu se propage notamment via l’exploitation d’une vulnérabilité non corrigée dans les polices TrueType. À ce jour, le code malveillant utilise pour vecteur un document Microsoft Word mais toute application reposant sur la fonctionnalité des polices embarquées est potentiellement vulnérable.

Pour mettre en œuvre exploitation de la vulnérabilité, l’attaquant va intégrer à un document une police malveillante dont le chargement par le système va déclencher l’exécution de code arbitraire. Au moment de la publication de cet avis, seuls des contournements provisoires sont disponibles. Une mise à jour de sécurité serait en cours de développement par Microsoft.

Documentation :

2 Problème sérieux dans PHP

Une anomalie sérieuse a été détectée dans les versions 5.3.7 et 5.3.8 de PHP. Il est possible que d’autres versions de PHP soient concernées. Le problème émane du comportement de la fonction is_a(). Lorsque le premier paramètre passé à cette fonction n’est pas un objet, alors __autoload() est automatiquement appelé.

La définition de __autoload() est laissée à la discrétion des développeurs. Ainsi, dans un exemple pris du manuel de PHP5, la fonction est écrite de la façon suivante :

function __autoload ($class_name) {

include $class_name . `.php’;

}

Le manuel précise toutefois qu’il est recommandé de vérifier les données passées par les utilisateurs. Il faut cependant s’attendre à ce que cela ne soit pas fait systématiquement. Dans l’exemple mentionné, l’exécution de code arbitraire à distance est triviale si l’utilisateur peut manipuler $class_name. Il est donc vraisemblable que, avec ce comportement de la fonction is_a(), de nombreuses applications développées avec PHP soient vulnérables, avec pour effet l’exécution de code arbitraire à distance.

La fonction is_a() a fait l’objet d’une modification dans le SVN de PHP, qui peut être appliquée, en l’attente d’une nouvelle version de PHP5 (branche 3).

Documentation :

3 Propagation d’un ver JBoss

3.1 Principe de fonctionnement

Un ver affecte actuellement les serveurs JBoss non mis à jour. Le ver se connecte aux jmx-console non protégées en utilisant une requête HTTP HEAD. L’utilisation de cette méthode permet d’outrepasser l’authentification de la console sur les versions vulnérables et d’installer un package permettant d’executer des commandes arbitraires.

La requête effectuée par le ver se présente sous la forme suivante :

HEAD /jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.admin%3Aservice%3D
DeploymentFileRepository&methodName=store&argType=java.lang.String&arg0=
iddqd.war&argType=java.lang.String&arg1=iddqd&argType=java.lang.String&arg2=
.jsp&argType=java.lang.String&arg3=…

Des commandes sont ensuite automatiquement envoyées au serveur afin de lancer le télechargement de code permettant la propagation du ver.

3.2 Vulnérabilité exploitée

La vulnérabilité exploitée n’est pas nouvelle (CVE-2010-0738) et se situe dans la configuration de la jmx-console définie dans le fichier deploy/jmx-console.war/WEB-INF/web.xml. Par défaut, les contraintes de sécurité définies ne requièrent d’authentification que pour les methodes GET et POST, laissant les autres requêtes HTTP accèder librement à la console.

Il est donc recommandé de vérifier la bonne configuration de la jmx-console et d’appliquer les mises à jour nécessaires le cas échéant.

Exemple de fichier de web.xml vulnérable :

<security-constraint>
  <web-resource-collection>
    <web-resource-name>HtmlAdaptor</web-resource-name>
    <description>
       An example security config that only allows users with the role
       JBossAdmin to access the HTML JMX console web application
    </description>
    <url-pattern>/*</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
  </web-resource-collection>
  <auth-constraint>
    <role-name>JBossAdmin</role-name>
  </auth-constraint>
</security-constraint>

Le retrait des lignes http-method corrige le problème en appliquant les contraintes sur l’ensemble des methodes HTTP. Les versions 6.x et 7.x de JBoss corrigent cette vulnérabilité.

Documentation :

Rappel des avis émis

Dans la période du 24 au 30 octobre 2011, le CERT-FR a émis les publications suivantes :