Souvent associée à HTML5, même si elle fait l'objet de spécifications distinctes, la technologie WebSocket permet une communication en mode full-duplex entre un script sur une page Web et le serveur. La communication WebSocket entre navigateurs et serveurs Web ouvre ainsi la voie à de nouvelles applications en temps réel.

L'implémentation de WebSocket se retrouve dans les navigateurs Google Chrome ( depuis la version 4 ), Safari 5 et y compris pour sa version mobile dans iOS, ainsi que Firefox 4 et Opera 11 qui sont tous deux en cours de développement. Mozilla et Opera Software viennent toutefois de prendre la décision de désactiver une telle prise en charge dans leurs navigateurs respectifs.

Ce choix est motivé par la découverte de vulnérabilités de sécurité affectant le protocole WebSocket, et plus exactement au niveau de la poignée de main ( handshake ) réalisée lors d'un échange entre une requête et une réponse HTTP. Des attaques qualifiées de sérieuses contre le protocole ont en effet fait l'objet d'une démonstration par des chercheurs en sécurité.

Via une technique d'empoisonnement de cache entre le navigateur et Internet, il est par exemple possible à un attaquant d'injecter un fichier malware en lieu et place d'un fichier JavaScript comme Google analytics. Mozilla estime qu'il s'agit d'une grave menace pour Internet et WebSocket, et précise bien qu'elle n'est pas spécifique à un problème du côté du navigateur.

Dans l'attente d'une version considérée comme stable et sûre du protocole, son support n'est donc plus d'actualité dans Firefox 4 et Opera 11. En l'état actuel des choses, les solutions WebSocket ne fonctionneront donc pas lorsque les versions finales des navigateurs seront proposées. Le code demeure néanmoins intégré pour faciliter les développements, mais son activation nécessitera pour le développeur d'activer une préférence cachée dans le navigateur.

À noter que l'attaque affecte également une implémentation Flash ou Java de WebSocket. Pour le moment, à part Mozilla et Opera Software, aucun autre éditeur n'a annoncé son intention de désactiver la prise en charge WebSocket. Un développeur Apple a laissé entendre que la question fait débat.