Nommé ‘Carpe Diem‘ par le chercheur qui l’a découverte, l’ingénieur Ambionics Charles Fol, les experts vont sans doute préférer lire d’abord son récit concernant cette vulnérabilité, identifiée sous CVE-2019-0211, plutôt que la notification du site officiel d’Apache Software Foundation qui s’avère assez légère sur les détails.
Avec un score de vulnérabilité CVSS de 8,8, la faille affecte les versions 2.4.17 (du 9 octobre 2015) de Apache HTTP Server (“Apache” pour les intimes) à la version 2.4.38 (du 1er avril 2019). La notification officielle mentionne que :
Avec MPM event, worker ou prefork, le code s’exécutant dans des processus ou des threads enfant moins privilégiés (y compris les scripts exécutés par un interpréteur de script in-process) pourrait exécuter du code arbitraire avec les privilèges du processus parent (généralement root) en modifiant le tableau de bord.
Les serveurs Windows ne sont pas concernés, mais un grand nombre de distributions Linux, principalement récentes, sont concernées par cette alerte.
La vulnérabilité Apache HTTP Server
Fondamentalement, cette faille est un problème au niveau d’une élévation de privilèges déclenchée lorsqu’Apache exécute un redémarrage soft, jargon permettant aux threads des serveurs existants de finaliser ce qu’ils étaient en train de faire sur un site web live, ce qui peut se produire une fois par jour (ceci explique également le “diem”, jour en latin, une partie du surnom que Fol lui a donné).
Lors du redémarrage, Fol a découvert qu’un processus de faible privilège pouvait s’élever au niveau root via un script, par exemple via PHP ou CGI.
Qui est touché ?
Pour ce faire, vous devez disposer d’un accès local, et c’est le cas lorsque Apache est exécuté dans des environnements d’hébergement partagé, constituant ainsi un moyen courant de stocker un grand nombre de sites web distincts sur un serveur et ce sous une seule et même adresse IP.
Pour un attaquant, avoir un accès local signifierait simplement payer quelques euros pour un compte d’hébergement web bon marché (ou prendre le contrôle d’un existant).
Quiconque faisant partie de cette catégorie doit passer à la version 2.4.39 de toute urgence, a Tweeté Mark J. Cox de la Fondation Apache Software :
Flaw in Apache HTTP Server 2.4.17 – 2.4.38 allows anyone you allow to write a script (PHP, CGI,..) to gain root. Get 2.4.39 *now* especially if you have untrusted script authors or run shared hosting (or use mod_auth_digest, due to a separate flaw)https://t.co/s08XhOzKKW
— Mark J Cox (@iamamoose) 2 avril 2019
Un scénario potentiel est que cette faille pourrait être utilisée en conjonction avec une seconde faille telle qu’un code d’exploit distant (RCE) dans lequel CVE-2019-0211 serait ensuite utilisée pour élever les privilèges. Cox a répondu à une telle possibilité :
Flaw in Apache HTTP Server 2.4.17 – 2.4.38 allows anyone you allow to write a script (PHP, CGI,..) to gain root. Get 2.4.39 *now* especially if you have untrusted script authors or run shared hosting (or use mod_auth_digest, due to a separate flaw)https://t.co/s08XhOzKKW
— Mark J Cox (@iamamoose) 2 avril 2019
La version 2.4.39 corrige également cinq autres failles moins graves : CVE-2019-0217, CVE-2019-0215, CVE-2019-0197, CVE-2019-0196 et CVE-2019-0220.
Naturellement, Apache reçoit les mêmes correctifs de sécurité périodiques que n’importe quel logiciel, y compris celui qui concerne la faille sévère Optionsbleed en 2017.
Sur un thème similaire, la même année, Equifax a été affecté par une autre faille dans le fameux add-on Apache Struts (CVE-2017-5638) après avoir été critiqué pour avoir été victime d’une violation de données massive. Lors de cet incident, la société a par la suite admis qu’elle n’avait pas installé les correctifs mis à sa disposition plusieurs mois avant l’attaque.
Billet inspiré de Apache needs a patchy! Carpe Diem, update now, sur Sophos nakedsecurity.