Des chercheurs de l'entreprise de sécurité polonaise Security Explorations affirment avoir trouvé une nouvelle vulnérabilité de contournement de sandbox dans un composant de l'API Reflection de Java 7. Selon eux, cette faille affecte les dernières versions desktop et serveur du Java Runtime Environment (JRE). « La vulnérabilité se situe dans un composant de l'API Reflection du JRE et peut être utilisée pour contourner la sandbox de sécurité et exécuter du code arbitraire sur les ordinateurs », a écrit lundi Adam Gowdiak, le CEO de Security Explorations, dans un message envoyé à la liste de diffusion Full Disclosure.

« La faille affecte toutes les versions de Java 7, y compris Java 7 Update 21 livrée mardi dernier par Oracle et le dernier pack JRE Server publié en même temps », a-t-il précisé. Comme son nom l'indique, la version Server du Java Runtime Environment a été conçue pour les déploiements de serveurs Java. Selon Oracle, JRE Server ne contient pas le plug-in Java pour navigateur, fréquemment ciblé par les exploits web, ni l'élément de mise à jour automatique, ni l'installateur que l'on trouve dans le pack JRE standard.

Focaliser sur le déploiement des serveurs Java

Cependant, « même si Oracle reconnait que les vulnérabilités Java peuvent également être exploitées sur les déploiements serveurs, parce que la vulnérabilité de certains composants peut servir de porte d'entrée malveillante aux API, l'éditeur affirme que la majorité des vulnérabilités Java affectent uniquement le plug-in Java pour navigateur ou encore qu'il est peu probable que des failles Java soient exploitées sur les serveurs », a déclaré mardi Adam Gowdiak par courriel. « C'est pourquoi nous voulons sensibiliser les utilisateurs sur le fait que les allégations d'Oracle sont inexactes quant à l'impact des vulnérabilités de Java SE », a déclaré le CEO de Security Explorations.

« Nous avons prouvé que les bugs, qui, selon Oracle ne concernent que le plug-in Java, pourraient également affecter les serveurs ». En février dernier, Security Explorations a publié un exploit proof-of-concept pour une vulnérabilité Java censée ne concerner que le plug-in pour navigateur, « qui aurait pu être exploitée dans des attaques Java sur les serveurs utilisant le protocole RMI (Remote Method Invocation) », a écrit Adam Gowdiak. « La semaine dernière, Oracle a corrigé le vecteur d'attaque RMI dans sa mise à jour Java, mais il existe d'autres méthodes pour attaquer les déploiements Java sur les serveurs », a-t-il déclaré.

Une API à faible niveau de sécurité

Les chercheurs de Security Explorations n'ont pas encore vérifié si la nouvelle vulnérabilité pouvait être exploitée avec succès contre JRE Server, mais ils ont listé des API Java et des composants connus qui pourraient être utilisés pour charger ou exécuter du code Java non fiable sur les serveurs. « S'il y a un vecteur d'attaque dans l'un des composants mentionnés dans la Guideline 3-8 d'Oracle intitulée « directives de codage sécurisées pour un langage de programmation Java », les déploiements de Java Server sont susceptibles d'être attaqués par une vulnérabilité comme celle révélée lundi à Oracle », a affirmé le DG de Security Explorations.

Le chercheur critique la manière dont l'API Reflection a été implementée et validée pour Java 7 sur le plan de la sécurité, parce que jusqu'ici ce composant a été la source de multiples vulnérabilités. « L'API Reflection n'est pas conforme aux exigences de sécurité de Java et si elle est mal utilisée, elle peut facilement poser des problèmes de sécurité », a-t-il déclaré. « Cette nouvelle faille illustre les faiblesses de l'API Reflection », a ajouté Adam Gowdiak. « Il y a un an, Security Explorations avait signalé à Oracle un problème de sécurité générique lié à l'API Reflection et il n'est pas normal de retrouver cette vulnérabilité dans le code Java 7 », a-t-il dit.