Skip to main content
BlogSécuritéDigest de sécurité Linode 22 mai-29 mai 2023

Digest de sécurité Linode du 22 au 29 mai 2023

Digest de sécurité Linode

Dans le digest de cette semaine, nous aborderons les points suivants :

  • Vulnérabilité du noyau Linux NetFilter use-after-free
  • WordPress Core v6.2 : vulnérabilités XSS/CSRF/traversée d'annuaire
  • Vulnérabilité de Linux OverlayFS
CVE-2023-32233 : Vulnérabilité du noyau Linux NetFilter

Contexte

NetFilter est un cadre de filtrage de paquets et de traduction d'adresses réseau intégré au noyau Linux pour la gestion du trafic réseau. Il est contrôlé par des utilitaires en espace utilisateur tels que iptables, UFW et nft. iptables et nftables sont tous deux basés sur NetFilter, nftables étant l'implémentation la plus moderne. Les administrateurs système utilisent ces outils pour configurer les règles du pare-feu local et surveiller le trafic réseau. 

Vulnérabilité

La vulnérabilité, répertoriée sous le nom de CVE-2023-32233, est une vulnérabilité de type "use-after-free" dans le module "nf_tables" de NetFilter. Le module "nf_tables" est activé par défaut sur la plupart des systèmes d'exploitation Linux. "Nf_tables" accepte des configurations invalides, qui deviennent problématiques dans certains scénarios lorsqu'une opération par lots invalide est effectuée. Si l'opération par lots invalide est conçue d'une manière spécifique, elle peut conduire à un état interne corrompu au sein du noyau Linux. Cela se produit parce que le module "nf_tables" ne gère pas correctement les ensembles anonymes (un type d'ensemble sans nom auquel le noyau attribue un identifiant). 

L'état corrompu peut être exploité pour effectuer des lectures et écritures arbitraires de la mémoire de l'espace noyau. Ceci peut être utilisé pour élever les privilèges de l'utilisateur local. Toutes les versions du noyau Linux antérieures à la version 6.3.1 sont vulnérables à cet exploit.

Il convient de noter qu'un attaquant doit avoir accès à un système Linux établi avant de tenter d'exploiter cette vulnérabilité. De plus, il doit avoir les permissions CAP_NET_ADMIN et la capacité de manipuler NetFilter directement via l'API tierce.

L'impact de cette vulnérabilité est élevé, car elle affecte un module activé par défaut sur de nombreux systèmes d'exploitation Linux. En outre, une preuve de concept a été publiée, ce qui augmente la probabilité que cette vulnérabilité soit exploitée dans la nature.

Atténuation

  • Il est fortement recommandé de mettre à jour le noyau Linux de vos systèmes vers la version 6.3.2 ou une version plus récente.
  • Désactiver les espaces de noms des utilisateurs non privilégiés
WordPress Core v6.2 : vulnérabilités XSS/CSRF/traversée d'annuaire

Contexte

WordPress est composé de plusieurs parties : Le noyau, la base de données, les thèmes et les plugins. Le noyau de WordPress est la base du reste de la plateforme WordPress et permet toutes les fonctions d'administration et de gestion. 

Vulnérabilités

WordPress Core v6.2 présente plusieurs vulnérabilités que nous allons aborder.

CVE-2023-2745 : Traversée de répertoire

Cette vulnérabilité, répertoriée sous le nom de CVE-2023-2745, permet à un attaquant d'effectuer une traversée de répertoire sur un site WordPress en exploitant le paramètre "wp_lang". Les attaquants peuvent accéder à des fichiers de traduction de langue arbitraires et les charger. En outre, si un attaquant dispose d'un accès suffisant pour charger des fichiers de traduction, cette vulnérabilité peut également être utilisée pour effectuer des scripts intersites.

CVE en attente : Falsification des requêtes intersites (CSRF)

Cette vulnérabilité, qui n'a pas d'identifiant CVE au moment de la rédaction de ce document, est due à l'absence de validation de nonce sur une fonction AJAX. La fonction AJAX, appelée "wp_ajax_set_attachment_thumbnail", peut être utilisée de manière abusive pour permettre à des utilisateurs non authentifiés de mettre à jour les fichiers associés aux vignettes des pièces jointes. Cela ne peut se produire que si un utilisateur authentifié effectue une action, par exemple en cliquant sur un lien.

WordPress a déterminé qu'il est peu probable que cette vulnérabilité soit exploitée dans la nature, en raison d'une série complexe d'événements nécessaires à son exploitation.

CVE en attente : Scripts intersites (XSS)

Cette vulnérabilité, qui n'a pas d'identifiant CVE au moment où nous écrivons ces lignes, est due à une validation incorrecte du protocole lors du traitement de la réponse de la découverte oEmbed. oEmbded est un type de format dans WordPress qui permet le rendu d'URL provenant de sites tiers. Généralement, ce format est utilisé lorsqu'un utilisateur crée un lien vers un autre site dans un commentaire, ce qui permet d'obtenir un aperçu du site lié. Les attaquants qui ont les permissions de contributeur et plus peuvent créer une charge utile oEmbed malveillante à une URL tierce qui provoquera l'exécution de scripts arbitraires lorsqu'un utilisateur accède à cette URL tierce. 

NOTE : Le correctif original pour ces vulnérabilités, la version 6.2.1, corrigeait également une vulnérabilité mineure avec les shortcodes. La correction de la vulnérabilité du shortcode a interrompu la fonctionnalité. Dans la version 6.2.2, ce problème est corrigé. 

Atténuation

  • Il est fortement recommandé de mettre à jour WordPress à la version 6.2.2 ou supérieure.
CVE-2023-0386 : Vulnérabilité de OverlayFS

Contexte

SetUID est une autorisation spéciale qui permet à tout utilisateur disposant de droits d'exécution d'exécuter un fichier binaire en tant qu'utilisateur ou groupe propriétaire du fichier. Dans le cas où le bit SetUID est défini sur un binaire appartenant à root, tout utilisateur disposant des droits d'exécution peut exécuter ce binaire en tant que root.

OverlayFS est un moyen de fusionner plusieurs points de montage sur un système de fichiers Linux en un seul système de fichiers unifié. Il se compose de plusieurs couches : inférieure, supérieure et superposée. 

  • La couche "inférieure" contient les points de montage de base pour vos données préexistantes. Les données sont accessibles en amont dans la couche superposée.
  • La couche "supérieure" est définie comme faisant partie du système de fichiers superposé. Tous les fichiers écrits dans la couche superposée sont copiés dans la couche supérieure. Lorsque des fichiers sont modifiés dans la couche inférieure, les changements sont propagés à la couche superposée, puis à la couche supérieure.
  • La couche "overlay" est la couche supérieure du système de fichiers. Elle est composée de fichiers provenant des couches supérieure et inférieure. Tous les fichiers sont accessibles à partir de la couche supérieure.

Voici un diagramme simple qui montre comment les modifications de fichiers sont propagées par OverlayFS :

OverlayFS - Diagramme simple

Vulnérabilité

Cette vulnérabilité est répertoriée sous le nom de CVE-2023-0386, toutes les versions du noyau Linux antérieures à 6.2-rc6 sont vulnérables. Lors de l'ajout d'un fichier dans un système de fichiers OverlayFS, la couche de recouvrement ne vérifie pas correctement la validité de l'utilisateur/du groupe dans l'espace de noms actuel avant de le copier dans la couche supérieure. Un attaquant peut ajouter un binaire avec le bit SUID positionné dans une couche inférieure, et ensuite avoir un binaire copié dans la couche supérieure.

Un attaquant peut créer un nouveau système de fichiers virtuel et un nouvel espace de noms, générer un binaire SUID avec la propriété de root, puis le monter dans un système de fichiers OverlayFS. Le système de fichiers OverlayFS ne vérifiera pas si la propriété de l'utilisateur/du groupe est valide dans l'espace de noms actuel, et copiera le binaire avec des permissions intactes. L'attaquant peut alors exécuter le binaire SUID depuis la couche supérieure et élever ses privilèges.

Atténuation

  • Il est fortement recommandé de mettre à jour le noyau Linux de vos systèmes vers la dernière version.
  • Désactiver les espaces de noms d'utilisateurs non privilégiés.

Commentaires

Laissez un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.