20 août 2022

Existe-t-il des problèmes de sécurité connus avec NCSA httpd?

ncsa
(Dernière mise à jour le: 27 août 2021)

Les versions de NCSA httpd antérieures à 1.4 contiennent une grave faille de sécurité liée à un tampon de chaîne de taille fixe. Les utilisateurs distants pourraient s’introduire dans les systèmes exécutant ce serveur en demandant une URL extrêmement longue. Bien que ce bogue ait été bien médiatisé depuis plus d’un an, de nombreux sites utilisent toujours des versions non sécurisées du serveur. La version actuelle du logiciel, la version 1.5, ne souffre pas de ce bug et est disponible sur le lien donné au début de ce paragraphe.

Récemment, il est apparu que l’exemple de code C (cgi_src / util.c) distribué depuis longtemps avec le NCSA httpd comme exemple de la façon d’écrire des scripts CGI sûrs a omis le caractère de nouvelle ligne de la liste des caractères qui ne devraient pas être passés à coquilles. Cette ommission introduit un bogue sérieux dans tous les scripts CGI qui ont été construits au-dessus de cet exemple de code: un utilisateur distant peut exploiter ce bogue pour forcer le script CGI à exécuter toute commande Unix arbitraire. Ceci est un autre exemple des dangers de l’exécution de commandes shell à partir de scripts CGI.

De plus, l’arborescence du code source du serveur NCSA contient elle-même le même bogue (versions 1.5a et antérieures). Le sous-programme défectueux est identique, mais dans ce cas se trouve dans le fichier src / util.c par opposition à cgi_src / util.c. Après avoir parcouru le code source du serveur, je n’ai pas trouvé d’endroit où une chaîne fournie par l’utilisateur est transmise à un shell après avoir été traitée par ce sous-programme, donc je ne pense pas que cela représente une faille de sécurité réelle. Cependant, il est préférable d’appliquer le correctif ci-dessous pour être sûr.

Le serveur Apache, versions 1.02 et antérieures, contient également ce trou dans ses sous-répertoires cgi_src et src /. Il n’est pas improbable que le même problème soit présent dans d’autres dérivés du code source NCSA.

Le correctif pour corriger les trous dans les deux fichiers util.c est simple. ‘phf’ et tous les scripts CGI qui utilisent cette bibliothèque doivent être recompilés après l’application de ce patch (le programme de patch GNU peut être trouvé à ftp://prep.ai.mit.edu/pub/gnu/patch-2.1.tar.gz ).

Vous devez appliquer ce patch deux fois, une fois dans le sous-répertoire cgi_src / et une fois dans le répertoire src / lui-même:

tulip% cd ~www/ncsa/cgi_src
   tulip% patch -f x;y--)
                  cmd[y] = cmd[y-1];
              l++; /* length has been increased */
/*---------------------------------- cut here ----------------------------------*/
1 Star (No Ratings Yet)
Loading...

Laisser un commentaire

Translate »