Une vulnérabilité critique a été révélée sur Apache 2.4.49 ce mardi 5 Octobre. La vulnérabilité permet à un attaquant distant de réaliser une attaque de “Path traversal”.
En conséquence, cela mène à une lecture de fichier arbitraire sur le serveur. Elle aurait été découverte par des hackers, et serait exploitée depuis plusieurs mois. Elle est actuellement référencée en tant que CVE-2021-41773.
La vulnérabilité peut être exploitée si les fichiers en dehors de la racine du serveur ne sont pas protégés par l’option « require all denied » dans la configuration d’Apache. (source : lien)
Il existe de nombreux serveurs Apache en version 2.4.49 potentiellement vulnérables. En effet, Shodan en référence plus de 112 000.
Cependant, de nombreuses personnes configurent le serveur Apache afin de ne pas divulguer la version utilisée. Cela laisse sous-entendre qu’il y a potentiellement d’autres serveurs vulnérables à cette attaque.
La vulnérabilité a été publiée dans ce commit disponible sur le Github d’Apache : https://github.com/apache/httpd/commit/e150697086e70c552b2588f369f2d17815cb1782.
Par conséquent, en lisant le code on réalise qu’il est possible de remonter l’arborescence grâce à “.%2e” qui correspond à “..” en URL encoding.
L’exploitation est assez simple.
En effet, il suffit de remonter dans l’arborescence du serveur de fichier pour lire le fichier désiré.
Ensuite, certains fichiers sensibles peuvent être lus, comme des fichiers de configuration.
Par conséquent, cette accessibilité engendre des problèmes de confidentialité assez importants.
Évidemment, il sera possible de lire uniquement les fichiers lisibles par l’utilisateur Apache.
Aussi, il est possible de tester si plusieurs hôtes sont vulnérables grâce au script suivant :
Afin de corriger cette vulnérabilité, Apache a rapidement publié un patch de sécurité, présent dans la version 2.4.50.
[ UPDATE du 08 octobre 2021 ]
1. La version qui corrige la faille n’est pas le patch 2.4.50 mais 2.4.51.
2. Un nouveau Proof of Concept est apparu !
Un nouveau Proof of concept est apparu quelques jours après la publication de la CVE. Cette nouvelle exploitation permet une exécution de commandes arbitraires (RCE) sur le serveur. Le principe est d’utiliser la vulnérabilité Path Traversal pour charger le fichier /bin/sh, et d’envoyer en argument dans le corps de la requête, la commande à exécuter.
curl -s -d ‘echo; id;ls -la /’ « http://localhost/cgi-bin/.%2e/%2e%2e/%2e%2e/bin/sh »
Lorsque vous consultez un site Web, des données peuvent être stockées dans votre navigateur ou récupérées à partir de celui-ci, généralement sous la forme de cookies. Ces informations peuvent porter sur vous, sur vos préférences ou sur votre appareil et sont principalement utilisées pour s'assurer que le site Web fonctionne correctement. Les informations ne permettent généralement pas de vous identifier directement, mais peuvent vous permettre de bénéficier d'une expérience Web personnalisée. Parce que nous respectons votre droit à la vie privée, nous vous donnons la possibilité de ne pas autoriser certains types de cookies. Cliquez sur les différentes catégories pour obtenir plus de détails sur chacune d'entre elles, et modifier les paramètres par défaut. Toutefois, si vous bloquez certains types de cookies, votre expérience de navigation et les services que nous sommes en mesure de vous offrir peuvent être impactés. Plus d’informations
Cookie | Durée | Description |
---|---|---|
__cf_bm | 1 hour | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
__hssc | 1 hour | HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie. |
__hssrc | session | This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session. |
_cfuvid | session | Calendly sets this cookie to track users across sessions to optimize user experience by maintaining session consistency and providing personalized services |
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Advertisement" category. |
cookielawinfo-checkbox-analytics | 1 year | Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Analytics" category. |
cookielawinfo-checkbox-functional | 1 year | The GDPR Cookie Consent plugin sets the cookie to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 1 year | Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Necessary" category. |
cookielawinfo-checkbox-others | 1 year | Set by the GDPR Cookie Consent plugin, this cookie stores user consent for cookies in the category "Others". |
cookielawinfo-checkbox-performance | 1 year | Set by the GDPR Cookie Consent plugin, this cookie stores the user consent for cookies in the category "Performance". |
elementor | never | The website's WordPress theme uses this cookie. It allows the website owner to implement or change the website's content in real-time. |
o2s-chl | 1 day | o2Switch sets this cookie to block the automated access by the host. |
rc::a | never | This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks. |
rc::c | session | This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks. |
Cookie | Durée | Description |
---|---|---|
li_gc | 6 months | Linkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes. |
lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
S | 1 hour | Used by Yahoo to provide ads, content or analytics. |
sib_cuid | 6 months | SendinBlue sets this cookie to store unique visits. |
Cookie | Durée | Description |
---|---|---|
__hstc | 6 months | Hubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session). |
_gcl_au | 3 months | Google Tag Manager sets the cookie to experiment advertisement efficiency of websites using their services. |
hubspotutk | 6 months | HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts. |
Cookie | Durée | Description |
---|---|---|
bcookie | 1 year | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs. |
COMPASS | 1 hour | The COMPASS cookie is used by Yahoo to deliver targeted advertising based on user's online behavior. |
NID | 6 months | Google sets the cookie for advertising purposes; to limit the number of times the user sees an ad, to unwanted mute ads, and to measure the effectiveness of ads. |
test_cookie | 15 minutes | doubleclick.net sets this cookie to determine if the user's browser supports cookies. |
uuid | 6 months | MediaMath sets this cookie to avoid the same ads from being shown repeatedly and for relevant advertising. |
VISITOR_INFO1_LIVE | 6 months | YouTube sets this cookie to measure bandwidth, determining whether the user gets the new or old player interface. |
VISITOR_PRIVACY_METADATA | 6 months | YouTube sets this cookie to store the user's cookie consent state for the current domain. |
YSC | session | Youtube sets this cookie to track the views of embedded videos on Youtube pages. |
You cannot copy content of this page