Risque

  • Déni de service ;
  • divulgations d'informations.

Systèmes affectés

Tout serveur web Apache (quel que soit le système d'exploitation) possédant la configuration suivante :

  • Apache versions 1.3.x,
  • module Apache mod_jk version 1.2 dialoguant avec le serveur web Java Tomcat en version 4.x.

Résumé

Tomcat est un serveur web Java, développé par la fondation Apache, et permettant d'implémenter les technologies Servlet (appliquettes Java exécutées sur le serveur) et JavaServer Pages.

mod_jk est un module pour le serveur Apache permettant à ce dernier de transmettre de façon transparente au moteur Tomcat les requêtes correspondant aux technologies précitées.

Une mauvaise gestion du protocole de communication par ce module permet à un utilisateur mal intentionné de réaliser un déni de service.

Description

Le module mod_jk n'interprète pas correctement la fonctionnalité «chunk-encoding» du protocole HTTP/1.1. Cette spécification est employée lorsque la taille des données envoyées au serveur n'est pas connue a priori.

Cela induit une dé-synchronisation entre les requêtes envoyées par le module et les réponses du serveur Tomcat. Des clients du serveur Apache peuvent ainsi recevoir les réponses destinées à d'autres. Par ailleurs, le module peut aller jusqu'à saturer ses mémoires tampons et ne plus offrir aucun service.

Solution

Mettre à jour le module mod_jk avec une version au moins égale à 1.2.1 :

http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.1/

Documentation

Avis de sécurité Qualys :

http://archives.neohapsis.com/archives/bugtraq/2002-12/0045.html