Les chercheurs de l'entreprise de sécurité polonaise Security Explorations affirment avoir découvert une vulnérabilité dans la mise à jour de sécurité de Java 7 Update 7 publiée jeudi dernier. Selon ces chercheurs, celle-ci peut être exploitée pour échapper à la sandbox Java et exécuter du code arbitraire dans le système sous-jacent. « Dès vendredi, nous avons fait parvenir à Oracle un rapport sur cette vulnérabilité, accompagné d'un exploit 'proof-of-concept' », a déclaré par mail Adam Gowdiak, CEO et fondateur de Security Explorations. Celui-ci a par ailleurs indiqué que son entreprise n'avait pas «  l'intention de rendre public les détails techniques sur la vulnérabilité tant qu'Oracle ne l'aura pas corrigée. »

L'éditeur de Redwood a dérogé à son calendrier de mise à jour programmé tous les quatre mois pour livrer l'avis de sécurité d'urgence Java 7 u7, lequel devait corriger trois vulnérabilités, dont deux étaient exploitées depuis la semaine dernière par des attaquants pour infecter des machines avec leurs malwares. La mise à jour Java 7 u7 devait aussi corriger « une faille de sécurité en profondeur», laquelle, selon Oracle, n'était pas directement exploitable, mais aurait pu être utilisée pour aggraver l'impact des autres facteurs de vulnérabilité. Ce patch pour corriger cette faille en profondeur - Adam Gowdiak l'appelle un « vecteur d'exploitation » - a rendu inefficace l'exploit mis au point par l'entreprise polonaise pour contourner la machine virtuelle Java et le proof-of-concept (PoC) soumis par la firme de sécurité polonaise à Oracle est devenu inopérationnel.

Pas encore de date pour le prochain patch

Selon le CEO, au mois d'avril, Security Explorations a signalé à Oracle 29 vulnérabilités dans Java 7, y compris les deux activement exploitées par des attaquants. Les rapports envoyés à l'éditeur par l'entreprise de sécurité étaient accompagnés de 16 exploits 'proof-of-concept'. Combinés ensemble, ils permettaient le contournement complet du bac à sable de Java et l'exécution de code arbitraire dans le système sous-jacent. « La suppression des commandes getField et getMethod dans l'implémentation de la classe sun.awt.SunToolkit dans Java 7 u7 a rendu tous les exploits PoC inefficaces », a confirmé Adam Gowdiak. « Cependant, la neutralisation résulte de la suppression du «vecteur d'exploitation», et non de la correction des vulnérabilités ciblées par les exploits », a expliqué le CEO de Security Explorations.

La nouvelle vulnérabilité découverte par l'entreprise polonaise dans Java 7 Update 7 peut être combinée avec certaines des vulnérabilités non patchées par Oracle, ce qui permet encore d'éviter complètement la sandbox de la machine virtuelle Java. « Quand nous avons constaté que nos exploits mis au point pour contourner la sandbox ne fonctionnaient plus, nous avons cherché une autre combinaison pour voir s'il était possible de mettre encore en défaut la nouvelle mise à jour de Java », a déclaré Adam Gowdiak. « Nous avons testé une nouvelle méthode, nous l'avons vérifié et constaté qu'elle fonctionnait ». Le CEO de Security Explorations ne sait pas à quel moment Oracle prévoit de sortir un patch pour les vulnérabilités non corrigées, signalées par l'entreprise de sécurité polonaise en avril ou corriger la nouvelle faille découverte vendredi. On ne sait pas non plus si Oracle sortira une nouvelle mise à jour de sécurité pour Java en octobre, comme prévu. Pour l'instant l'éditeur n'a donné aucune réponse à ce sujet.

Java 6 plus sûr que Java 7

À chaque occasion, les chercheurs en sécurité mettent en garde les vendeurs : s'ils mettent trop de temps à corriger une vulnérabilité signalée, celle-ci a plus de chance d'être découverte par des personnes malintentionnées, et il n'est même pas sûr que ceux-ci ne l'aient pas découverte avant. Il est souvent arrivé que différents chasseurs de bugs indépendants découvrent la même vulnérabilité dans le même produit au même moment. C'est ce qui s'est peut-être passé pour les des deux vulnérabilités Java activement exploitées et corrigées par le patch Java 7 Update 7. « On ne peut jamais exclure que des chercheurs indépendants tombent sur la faille », a confirmé Adam Gowdiak. « Néanmoins, cette nouvelle vulnérabilité est peut-être un peu plus difficile à trouver ».

Selon les chercheurs de Security Explorations spécialisés dans la chasse aux bugs dans Java, la version 6 de Java est plus sûre que la version 7. « Etonnamment, Java 7 a été beaucoup plus facile à casser », a déclaré le CEO. « Avec Java 6, nous n'avons pas réussi à créer un exploit permettant de contourner totalement la sandbox, excepté pour ce qui concerne Quicktime pour Java d'Apple ». Son conseil reprend celui proféré avant lui par d'autres chercheurs en sécurité, à savoir : « si on n'a pas besoin de Java, mieux vaut le désinstaller de son système ».