Skip to main content
BlogSécuritéDigest de sécurité Linode 21 - 28 janvier 2023

Digest de sécurité Linode 21 - 28 janvier 2023

Digest de sécurité Linode

Dans le résumé de cette semaine, nous discuterons :

  • Comment Sudoedit peut éditer des fichiers arbitraires ;
  • des avis de sécurité sur Drupal et Git ; et 
  • Une vulnérabilité de déni de service dans HAProxy.

Sudoedit peut éditer des fichiers arbitraires

CVE ID : CVE-2023-22809

Sudo est un programme qui permet à un administrateur système de donner à certains utilisateurs la possibilité d'exécuter des commandes en tant que root. Synacktiv a découvert cette vulnérabilité. Un problème de contournement de la politique sudoers peut conduire à une élévation de privilèges en utilisant sudoedit pour modifier des fichiers non autorisés. Les versions de Sudo concernées vont de 1.8.0 à 1.9.12p1.

En utilisant sudoedit, les utilisateurs sélectionnent leur utilisateur d'édition en utilisant des variables d'environnement, telles que SUDO_EDITOR, VISUAL et EDITOR. Le contenu de ces variables étend la commande réelle passée à la fonction sudo_edit(). A "-"est censé déterminer la liste des fichiers à modifier. Cependant, l'injection d'un "-" supplémentaire dans les variables d'environnement autorisées peut modifier cette liste et conduire à une élévation de privilèges en éditant tout autre fichier avec les privilèges de l'utilisateur cible.

Détection

La vulnérabilité peut être détectée en exécutant la commande suivante en tant qu'utilisateur ayant le droit de modifier le fichier, tel que /etc/custom/service.conf, listé dans le fichier /etc/sudoers.

$ cat /etc/sudoers
user ALL=(ALL:ALL) sudoedit /etc/custom/service.conf
[...]

$ EDITOR='vim -- /etc/passwd' sudoedit /etc/custom/service.conf

Atténuation

Outre la mise à niveau vers la version corrigée, il est également possible d'atténuer la vulnérabilité en ajoutant les variables d'environnement concernées à la liste de refus env_delete lors de l'utilisation de sudoedit.

Defaults!SUDOEDIT            env_delete+="SUDO_EDITOR VISUAL EDITOR"
Cmnd_Alias SUDOEDIT = sudoedit /etc/custom/service.conf
user                                              ALL=(ALL:ALL) SUDOEDIT

Avis de sécurité de Drupal

Drupal a publié des avis de sécurité pour corriger des vulnérabilités affectant plusieurs produits. Un attaquant pourrait exploiter ces vulnérabilités pour accéder à des informations sensibles. Le CISA encourage les utilisateurs et les administrateurs à consulter les avis de sécurité suivants concernant Drupal et à appliquer les mises à jour nécessaires.

Drupal Core - Divulgation d'informations

Code des avis de sécurité : SA-CORE-2023-001

Les utilisateurs ayant accès à la modification du contenu peuvent voir les métadonnées des éléments multimédias auxquels ils ne sont pas autorisés à accéder en raison d'une vérification incorrecte de l'accès aux entités dans le module de la médiathèque. L'atténuation de la vulnérabilité est possible car le média inaccessible n'est visible que pour les utilisateurs qui peuvent déjà modifier le contenu incluant un champ de référence du média. 

Indépendamment du fait que les versions de Drupal antérieures à 9.4.x sont en fin de vie, il est recommandé de mettre à jour vers les dernières versions, notamment Drupal 10.0.2, Drupal 9.5.2 et Drupal 9.4.10.

Navigateur d'entités - Divulgation d'informations

Code des avis de sécurité : SA-CONTRIB-2023-002

Les utilisateurs peuvent sélectionner des entités à partir des champs de référence des entités en utilisant un widget de navigateur d'entités personnalisé du module Entity Browser. Cette vulnérabilité permet aux utilisateurs ayant accès à la modification du contenu de voir les métadonnées d'entités auxquelles ils ne sont pas autorisés à accéder, car le module ne vérifie pas correctement l'accès aux entités. La vulnérabilité peut être atténuée par le fait que les entités inaccessibles ne seront visibles que par les utilisateurs qui peuvent déjà modifier le contenu à l'aide d'Entity Browser. Pour corriger cette vulnérabilité, si vous utilisez le module Entity Browser pour Drupal 9 ou 10, mettez à jour Entity Browser à la version 8.x-2.9.

Bloc Médiathèque - Divulgation d'informations

Code des avis de sécurité : SA-CONTRIB-2023-003

Le module Bloc de la médiathèque permet aux utilisateurs de rendre les entités multimédias dans un bloc. La vérification incorrecte de l'accès aux médias par le module peut amener les utilisateurs à voir les médias auxquels ils ne sont pas autorisés à accéder si un bloc contenant des éléments multimédias à accès restreint se trouve sur la page. Limitez cet accès non autorisé en supprimant les blocs faisant référence à des éléments multimédias dont l'accès est restreint. Si vous utilisez le module Media Library Block pour Drupal 9 ou 10, il est recommandé de le mettre à niveau vers la version 1.0.4 pour résoudre ce problème.

Élément API du formulaire de la bibliothèque des médias - Divulgation d'informations

Code des avis de sécurité : SA-CONTRIB-2023-004

Le module Media Library Form API Element permet aux utilisateurs d'utiliser la bibliothèque de médias dans des formulaires personnalisés sans le widget de bibliothèque de médias. En raison d'une mauvaise vérification de l'accès à l'entité par le module, les utilisateurs ayant accès à l'édition du contenu pourraient voir les métadonnées d'éléments multimédias auxquels ils ne sont pas autorisés à accéder. Atténuer la vulnérabilité en rendant les médias inaccessibles uniquement visibles aux utilisateurs qui peuvent déjà modifier le contenu qui inclut un champ de référence média. Si le module Media Library Form API Element est en version 8.x-1.*, ou 2.x pour Drupal 9 ou 10, il est recommandé de mettre à jour le module vers la version 2.0.6.

Avis de sécurité de Git

Un audit de sécurité du code source de Git a révélé plusieurs vulnérabilités, dont deux de gravité critique qui pourraient permettre à des attaquants d'exécuter du code arbitraire après avoir réussi à exploiter des faiblesses de débordement de tampon basées sur le tas. Les deux vulnérabilités critiques sont corrigées dans les versions de Git v2.30.7, v2.31.6, v2.32.5, v2.33.6, v2.34.6, v2.35.6, v2.36.4, v2.37.5, v2.38.3, et v2.39.1.

Débordement de tas dans `git archive`, `git log -format` conduisant à un RCE

CVE ID : CVE-2022-41903

git log peut afficher les commits dans un format arbitraire avec un spécificateur -format. git archive avec l'attribut git export-subst possède également cette fonctionnalité. Lorsque les opérateurs de remplissage sont traités, une variable size_t est incorrectement stockée comme un int dans la fonction pretty.c format_and_pad_commit(), elle est ensuite ajoutée comme décalage à un appel memcpy() suivant. Les attaquants peuvent initier le débordement en exécutant git log -format=... pour invoquer le formatage commit ou en exécutant git archive avec l'attribut export-subst, qui étend le spécificateur de format pour un fichier. Le dépassement d'entier peut provoquer une exécution de code à distance en écrivant du code arbitraire en mémoire.

Solutions de contournement

Il est recommandé de mettre à jour Git vers la version la plus récente, qui corrige complètement la vulnérabilité. Si la mise à jour n'est pas applicable, les utilisateurs ne doivent pas exécuter git archive sur un dépôt non fiable. Si git archive est exposé via le démon git, exécutez git config -global daemon.uploadArch false pour désactiver la commande.

dépassement d'entier dans l'analyse des attributs git

CVE ID : CVE-2022-23521

Git permet aux utilisateurs de définir des attributs pour les chemins en ajoutant un fichier .gitattributes au dépôt, qui contient un ensemble de motifs de fichiers et d'attributs qui doivent être définis pour les fichiers correspondant au motif. Quelques conditions peuvent provoquer un débordement d'entier lors de l'analyse des attributs :

  • lorsqu'il y a un nombre excessif de modèles de chemins ;
  • lorsqu'il existe de nombreux attributs pour un même motif ;
  • lorsque les noms des attributs déclarés sont étendus.

Les débordements peuvent être déclenchés lorsque le fichier .gitattributes fait partie de l'historique des livraisons. Les lignes de plus de 2KB sont coupées silencieusement lors de l'analyse des gitattributs d'un fichier, mais pas de l'index. Par conséquent, l'échec peut se produire lorsque le fichier existe dans l'index, dans l'arbre de travail, ou les deux. La vulnérabilité peut conduire à des lectures et écritures arbitraires de la tête, résultant en une exécution de code à distance.

Solutions de contournement

Aucune solution de contournement applicable n'est publiée. La seule solution consiste à mettre à niveau Git vers la dernière version corrigée indiquée.

Vulnérabilité de déni de service dans HAProxy

CVE ID : CVE-2023-0056

HAProxy est un équilibreur de charge de serveur à haute disponibilité pour les applications HTTP. Cette vulnérabilité existe en raison de l'échec de la gestion des drapeaux inattendus dans la fonction http_wait_for_response(), ce qui peut entraîner le plantage du processus. Par conséquent, la vulnérabilité permet à un attaquant de réaliser une attaque par déni de service. 

Les versions vulnérables de HAProxy vont de 2.0.0 à 2.7.0. Les vulnérabilités des versions 2.5.11, 2.6.8 et 2.7.2 sont corrigées. Cependant, les versions corrigées pour les versions 2.0.x à 2.4.x n'ont pas encore été publiées.

Commentaires

Laissez un commentaire

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