Vulnérabilité Discourse CVE-2021-41163

Bonjour à tous,

J’ai récemment été informé de cette vulnérabilité de sécurité dans Discourse NVD - CVE-2021-41163 (nist.gov)

Je me posais la question car elle concerne l’URL /webhooks/aws. Discourse hébergé sur Azure est-il également affecté par cette vulnérabilité ?

Chaque instance est concernée (si elle n’est pas corrigée), quel que soit l’hébergeur.

Salut @Falco, merci pour ta réponse rapide !

Je ne suis pas un expert en Ruby, mais je pensais que cette ligne de code empêcherait l’exécution de la partie vulnérable sur Azure, car elle devrait être évaluée à false ?? N’hésite pas à me corriger ici, car je ne connais pas bien Ruby.

De plus, en tant que solution temporaire (un pansement) et NON RECOMMANDÉE (car la mise à niveau reste la meilleure solution à 100 %), pourrais-tu modifier le fichier nginx pour régler le problème temporairement en attendant la mise à niveau ?
Voici comment procéder :

  1. ssh vers la machine
  2. cd /var/discourse
  3. ./launcher enter app
  4. cd /etc/nginx/conf.d/
  5. éditer discourse.conf
  6. ajouter :
location ~* /webhooks/aws {  
    deny all;  
}  
  1. sv restart nginx

J’ai bien l’intention de faire la mise à niveau, et ce bientôt. Mais j’aurai besoin d’environ une semaine pour organiser les choses dans notre environnement de production et je souhaite être sécurisé dans l’intervalle.

Cette ligne sera exécutée de toute façon, car ce paramètre provient de l’entrée utilisateur.

Cela peut fonctionner, mais comme vous l’avez dit, c’est un pansement. Une reconstruction supprimera la correction, et soyez très prudent lors des tests, car la configuration nginx est très délicate à mettre correctement en place.

Selon les analyses de notre équipe de sécurité, il ne s’agit pas d’un bug de Discourse. Ce bug se trouve dans notre système de distribution de messages SNS (MDS) (nous ne pouvons pas entrer dans les détails ici), ce qui signifie qu’il affectera chaque package qui utilise ou fait usage du service SNS.

Oui, le problème est bien causé par un problème en amont dans le gem aws-sdk-sns. Cependant, il est important de réaliser que, puisque Discourse utilise ce gem et expose le bug au monde entier, chaque instance Discourse est vulnérable, même si elle n’utilise pas réellement le service AWS SNS.

Ainsi, bien qu’il ne s’agisse pas d’un « bug de Discourse », il s’agit bel et bien d’une « vulnérabilité de sécurité dans Discourse ».

Cette vulnérabilité est-elle corrigée ? Merci.

Oui, mais assurez-vous d’avoir appliqué le correctif. Lisez le sujet. :slight_smile:

un simple

rebuild de l’application de lancement

ne suffira pas à corriger cette vulnérabilité ?

./launcher rebuild app appliquera les dernières mises à jour à votre instance Discourse et inclura le correctif pour ce problème :+1:

Vous trouverez les informations officielles sur RCE via malicious SNS subscription payload · Advisory · discourse/discourse · GitHub

Ça sonne mieux :slight_smile: