Vulnerability Description and Impact
MongoDB a identifié une faille de sécurité liée à une mauvaise gestion de la longueur des en-têtes de protocole compressés par Zlib. Dans des conditions spécifiques, ce problème peut amener le serveur MongoDB à lire une mémoire de tas non initialisée.
La vulnérabilité peut être déclenchée par un client non authentifié, mais nécessite un accès au réseau interne. L'exploitation de l'internet public n'est pas possible dans les configurations par défaut.
La vulnérabilité affecte les versions suivantes de MongoDB :
- MongoDB Server 7.0 avant 7.0.28
- MongoDB Server 8.0 avant 8.0.17
- MongoDB Server 8.2 avant 8.2.3
- MongoDB Server 6.0 avant 6.0.27
- MongoDB Server 5.0 avant 5.0.32
- MongoDB Server 4.4 avant 4.4.30
- MongoDB Server 4.2, 4.0 et 3.6 (versions prises en charge)
Déploiement autonome
- Définition :
- MongoDB fonctionne dans un Docker internal network.
- Le port du service MongoDB est not exposed pour la VM ou les réseaux externes.
- Exigence relative à la méthode d'exploitation :
- L'exploitation n'est possible que si un attaquant obtient privileged access to the Docker network within the VM.
Déploiement de la haute disponibilité (HA)
- Définition :
- Les déploiements HA basés sur le cloud utilisent un site private IP network, comme recommandé.
- Les déploiements HA sur site fonctionnent également exclusivement sur un private network.
- Exigence relative à la méthode d'exploitation :
- Une exploitation réussie nécessiterait qu'un attaquant obtienne access to the private network utilisé pour la communication avec MongoDB.
L'architecture de déploiement et les contrôles d'isolation du réseau dans Cloud Exchange réduisent considérablement le risque global. La vulnérabilité de MongoDB n'entraîne pas d'exposition directe aux réseaux publics et nécessite un accès préalable au réseau pour être exploitée.
Cloud Exchange will upgrade MongoDB to version 8.0.17, which includes the security fix.
Pour les versions 5.x à 6.0.0 de Cloud Exchange, Les équipes de Netskope recommandent plusieurs options pour éviter cette vulnérabilité dans un réseau docker en Standalone, et dans un réseau privé en HA.
Déploiement autonome pour la v5.0.1 (dépréciée), v5.1.0, v5.1.1, v5.1.2, v6.0.0, v6.0.1 et v6.1.0
- Accédez au répertoire d'installation de Cloud Exchange (pour CE en tant que VM, accédez à /opt/cloudexchange/cloudexchange).
- Arrêtez Cloud Exchange à l'aide de cette commande :
sudo ./stop
- Mettez à jour le fichier docker-compose . yml (Ubuntu et déploiement basé sur Docker) ou podman-compose.yml (RHEL et déploiement basé sur Podman) avec ces instructions dans les sections mongodb-primary du fichier yml, puis enregistrez le fichier.
v6.0.0 Standalone
Before the yml file v6.0.0 update
Add this argument after the mongod keyword in the entrypoint section of the mongodb-primary.
--networkMessageCompressors snappy,zstd

After the yml file v6.0.0 update

v5.1.2, v5.1.1 Autonome
Before the yml file v5.1.2, v5.1.1 update
Add this argument after the mongod keyword in entrypoint section of the mongodb-primary.
--networkMessageCompressors snappy,zstd

After the yml file v5.1.2, v5.1.1 update

v5.0.1 (déprécié), v5.1.0 Autonome
Before the yml file v5.0.1, v5.1.0 update
Add this argument after the mongod keyword in entrypoint section of the mongodb-primary.
--networkMessageCompressors snappy,zstd

After the yml file v5.0.1, v5.1.0 update

Démarrez Cloud Exchange à l'aide de cette commande :
sudo ./start
Déploiement HA pour la v5.0.1 (dépréciée), v5.1.0, v5.1.1, v5.1.2, v6.0.0, v6.0.1 et v6.1.0
- Va dans le répertoire d’installation Cloud Exchange des nœuds secondaires (pour CE en tant que VM, va sur /opt/cloudexchange/cloudexchange).
- Arrêtez Cloud Exchange en utilisant cette commande pour tous les nœuds secondaires, un par un :
sudo ./stop
- Accédez au répertoire Cloud Exchange du nœud principal (Pour CE en tant que VM, accédez à /opt/cloudexchange/cloudexchange).
- Arrêtez Cloud Exchange à l'aide de cette commande pour le nœud principal.
sudo ./stop
- Mettez à jour le fichier docker-compose-ha.yml (Ubuntu et déploiement basé sur Docker) ou podman-compose-ha.yml (RHEL et déploiement basé sur Podman) avec ces instructions dans les sections mongodb-primary du fichier yml, et enregistrez le fichier dans tous les nœuds HA un par un.
v6.0.0 HA
Before the yml file v6.0.0 update
Add this argument after the mongod keyword in the entrypoint section of the mongodb-primary.
--networkMessageCompressors snappy,zstd

After the yml file v6.0.0 update

v5.1.2, v5.1.1 HA
Before the yml file v5.1.1, v5.1.2 update
Add this argument after the mongod keyword in the command section of the mongodb-primary.
--networkMessageCompressors snappy,zstd

After the yml file v5.1.1, v5.1.2 update

v5.0.1 (déprécié), v5.1.0 HA
Before the yml file v5.0.1, v5.1.0 update
Add this argument after the mongod keyword in the command section of the mongodb-primary.
--networkMessageCompressors snappy,zstd

After the yml file v5.0.1, v5.1.0 update

- Démarrez le nœud primaire de Cloud Exchange à l'aide de cette commande :
sudo ./start
- Démarrez les nœuds Cloud Exchange secondaires à l'aide de cette commande :
sudo ./start

