MongoBleed : une très vilaine faille MongoDB laisse fuiter des données sensibles
Et Joyeux Noël !
Illustration : Flock
Le 29 décembre 2025 à 12h25
Une faille MongoDB laisse fuiter des données sensibles des serveurs, y compris des mots de passe et des clés secrètes. Le danger est réel, d’autant plus que la faille existe depuis plus de huit ans et que des preuves de concept sont librement disponibles sur Internet. Des correctifs sont disponibles, à déployer au plus vite si ce n’est pas encore fait !
MongoBleed : une très vilaine faille MongoDB laisse fuiter des données sensibles
Et Joyeux Noël !
Illustration : Flock
Une faille MongoDB laisse fuiter des données sensibles des serveurs, y compris des mots de passe et des clés secrètes. Le danger est réel, d’autant plus que la faille existe depuis plus de huit ans et que des preuves de concept sont librement disponibles sur Internet. Des correctifs sont disponibles, à déployer au plus vite si ce n’est pas encore fait !
Sécurité
Sécurité
7 min
MongoDB est de nouveau victime d’une vilaine faille de sécurité, baptisée cette fois CVE-2025-14847. « De multiples vulnérabilités ont été découvertes dans MongoDB Server. Certaines d’entre elles permettent à un attaquant de provoquer un déni de service à distance, une atteinte à la confidentialité des données et une atteinte à l’intégrité des données », explique le CERT-FR.
Depuis 2017, il était possible de récupérer des données en mémoire
Le CERT Santé français donne quelques détails sur la faille et ses conséquences. Elle est exploitable par le réseau avec une complexité « faible » et ne nécessite aucun privilège, ce qui explique sa dangerosité. Dans tous les cas, elle ne permet pas d’obtenir des privilèges plus élevés, mais tout de même d’accéder à des « espaces mémoire non initialisés sans authentification ».
Cette vulnérabilité rappelle Heartbleed qui avait secoué Internet il y a plus de 10 ans, avec des conséquences parfois très graves.
Le CVE lui attribue une note de dangerosité de 7,5 sur 10 dans la version 3.1 du CVSS et de 8,7 sur 10 pour la version 4.0. L’alerte date du 19 décembre 2025 et fait suite à cinq bulletins de sécurité publiés par MongoDB les 25 novembre (1, 2 et 3), le 9 décembre (4) et enfin le 19 décembre (5). Le CERT indiquait le 23 décembre que la faille n’était pas activement exploitée… mais la situation va rapidement changer.
Dans le dernier bulletin de MongoDB, on peut lire que la faille concerne toutes les versions de MongoDB Server à partir de la 3.6. Le bug a été ajouté dans ce commit du 1ᵉʳ juin 2017… il y a donc plus de huit ans. Il est ensuite resté dans les versions plus récentes, de la 4.x à la 8.2 en passant par les 5.x, 6.x et 7.x. Des correctifs sont disponibles avec les versions 8.2.3, 8.0.17, 7.0.28, 6.0.27, 5.0.32 et 4.4.30. Les moutures 4.2, 4.0 et 3.6 de MongoDB sont donc laissées sur le côté.
Si vous ne pouvez pas mettre à jour rapidement, MongoDB recommande de « désactiver la compression zlib sur le serveur MongoDB en démarrant mongod ou mongos avec l’option networkMessageCompressors ou net.compression.compressors qui exclut explicitement zlib ».
Selon un rapport du moteur de recherche Censys (un concurrent de Shodan), plus de 87 000 bases de données seraient vulnérables.
Pour Noël, des « experts » publient des preuves de concept
Dans une mise à jour, le CERT Santé affirme maintenant qu’une preuve de concept « est disponible en sources ouvertes », permettant donc à n’importe qui d’exploiter facilement cette brèche si elle n’est pas corrigée. Les documents nécessaires pour créer un outil afin d’exploiter cette brèche ont été mis en ligne dans la nuit du 25 au 26 décembre sur un dépôt GitHub, soit une semaine après l’annonce de MongoDB et la mise en ligne des correctifs, en pleine période de préparation des fêtes de fin d’année.
Ils ont été publiés par un utilisateur qui serait responsable technique chez Elastic Security, qui se présente comme une « plateforme open source qui optimise la recherche, l’observabilité et la sécurité ». Le chercheur en cybersécurité Kevin Beaumont affirme avoir testé le PoC et confirme « que cet exploit est réel ».
C’est visiblement aussi simple à exploiter que HeartBleed, avec les mêmes dangers : « il suffit de fournir l’adresse IP d’une instance MongoDB et elle commencera à dénicher en mémoire des choses comme les mots de passe de base de données (qui sont en texte brut), les clés secrètes AWS, etc. », détaille Kevin Beaumont.
Ce dernier ajoute qu’une « autre entreprise a jugé bon de publier des détails techniques la veille de Noël » ; il s’agit d’Ox Security. Le ton est volontairement sarcastique car le calendrier est tout sauf idéal. La faille peut se révéler extrêmement dangereuse et publier les détails techniques de son exploitation permet à quasiment n’importe qui de tenter sa chance. Plusieurs s’étonnent d’ailleurs de voir des experts ainsi publier les détails d’exploitation d’une faille de sécurité aussi sensible, surtout en pleine période de fête.
Nous en parlions avec des experts en cybersécurité lors des Assises de Monaco en octobre dernier : « Quand une vulnérabilité est rendue publique avec son code d’exploitation, des acteurs malveillants vont lancer une campagne sur l’ensemble d’Internet en mode « /0 » pour tester si des sites ou services sont vulnérables ». Désormais, le plus difficile est presque d’estimer le bon montant de la rançon.
Publier ainsi des PoC revient à faciliter la vie des pirates, comme relayer tout et n’importe quoi sur les fuites de données… et ainsi se faire les « commerciaux » des pirates. Un sujet sensible, qui nécessite souvent des vérifications incompatibles avec la course à l’information. Next a déjà depuis longtemps choisi son camp sur ce point.
Corriger est une chose, mais comment savoir si on a été victime ?
Que des chercheurs en cybersécurité postent des preuves de concepts et des détails techniques en plein pendant le réveillon n’est certainement pas l’idée de l’année… même s’il faut aussi reconnaitre que laisser des serveurs vulnérables pendant une semaine n’est pas mieux.
Aussi bien de la part du chercheur de chez Elastic Security que chez Ox Security, on ne trouve aucune précision sur comment détecter une exploitation de cette vulnérabilité dans les journaux par exemple. Un autre expert en cybersécurité s’est attelé à la tâche : Eric Capuano. Sur son blog, il recommande évidemment d’appliquer les correctifs, mais ajoute que « le patch seul ne suffit pas — il faut savoir si vous avez été ciblé avant le patch ».
Il explique que la particularité de cette brèche est qu’elle ne semble « détectable que dans les journaux du serveur MongoDB, qui ont très peu de chance d’être transmis à un système SIEM [Security Information and Event Management ou gestion des événements et des informations de sécurité, ndlr], et nécessite une logique relativement complexe qui pourrait être difficile à intégrer à la plupart des moteurs de détection SIEM ». Il propose un « artefact » pour Velociraptor, une plateforme open source de collecte et d’analyse. Si vous avez d’autres moyens de vérifier ce qu’il en est, n’hésitez pas à nous le signaler via les commentaires.
Ce n’est pas la première fois que MongoDB défraye la chronique. On se souvient par exemple en 2015 que plusieurs dizaines de milliers de bases de données étaient ouvertes aux quatre vents. Pas à cause d’une faille, mais d’un défaut de configuration avec des administrateurs qui laissaient les bases accessibles depuis n’importe quelle adresse IP. MongoDB avait alors réagi avec quasiment un simple RTFM (Read The Fucking Manual). Deux ans plus tard, rebelote. En 2023, MongoDB s’était fait pirater et des données de ses clients avaient été dérobées.
Commentaires (28)
Abonnez-vous pour prendre part au débat
Déjà abonné ou lecteur ? Se connecter
Cet article est en accès libre, mais il est le produit d'une rédaction qui ne travaille que pour ses lecteurs, sur un média sans pub et sans tracker. Soutenez le journalisme tech de qualité en vous abonnant.
Accédez en illimité aux articles d'un média expert
Profitez d'au moins 1 To de stockage pour vos sauvegardes
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
Abonnez-vousModifié le 29/12/2025 à 12h32
Parce que là, je n'ai pas l'impression de voir un rebond via le front ou le back.
Le 29/12/2025 à 20h19
Quand je dis facile, je le met en œuvre chez moi depuis plusieurs années: plus aucun service important en IPv4. Même samba est à 100% en IPv6.
Il ne me reste que DLNA car mes TV ne connaissent pas IPv6.
Le reste du traffic IPv4 ne peut allez que dehors.
Prochaine étape: passage en NAT64 pour éteindre le DHCP.
Le 29/12/2025 à 20h28
Il suffirait que les serveurs de base de données n'aient que des adresses IP privées pour que ce genre de risques disparaisse aussi bien en V4 qu'en V6.
Modifié le 29/12/2025 à 20h54
Pas mal d'applications se permettent d'ouvrir des ports externes si on les laisse faire; C'est peut-être le cas de mongodb.
Encore une fois: le NAT n'assure aucune sécurité.
Ce qui est assez sale également est que l'adresse privée IPv4 sert pour du trafic à la fois privé et global. En IPv4, on a pas vraiment le choix alors qu'en IPv6, il est possible de tout séparer: le global, le privé et le local ont chacun leurs adresses. C'est tellement plus simple!
En IPv6, mes adresses ULA ne recevrons jamais de trafic publique, que j'ai bien configuré ma box ou non. D’ailleurs, ce n'est pas la box qui annonce le préfixe ULA.
Donc, les bases de données de mon réseau local ne sont accessibles qu'en IPv6 via des adresses ULA et protégées par des règles de pare-feu bien entendu.
Modifié le 29/12/2025 à 21h27
Ici, ça sent plutôt l'instance déployée sur une VM directement connectée à Internet ou des déploiements PaaS réalisés à la truelle avec tout par défaut, dont la patte publique active. Et une absence de gestion de firewall.
D'ailleurs, je me demande si dans le lot il y en a hébergés par Atlas.
C'est le côté pervers du Cloud : en mode public, c'est pas cher et rapide à déployer. Par contre, dès qu'il s'agit de privatiser les instances, les coûts et la complexité augmentent et ça peut provoquer de mauvaises décisions.
Ça ou alors les organisations en mode "feature team" ou "squad" ou "devops" ou peu importe le nom à la mode à qui on file un "bac à sable" pour qu'elles soient autonomes et déploient avec peu de garde fous (pourtant les CSP ont des policies pour bloquer les conneries !). Et c'est comme ça qu'on se retrouve avec plein de ressources mal gérées ou mal configurées ouvertes aux quatre vents qui plombent au passage les dashboard finops.
Le 30/12/2025 à 13h41
Je pense que l'on peut tout de même faire un parrallèle avec les conteneurs. La dernière fois que j'ai regardé du côté du plus célèbre d'entre eux, j'ai trouvé du NAT44 par défaut et l'ipv6 en supplément et l'impossibilité de faire une config sans IPv4. C'est donc du bricolage à mes yeux.
Donc, pour que le service du conteneur soit disponible, il faut ouvrir des portes et pour administrer ce conteneur, c'est la même adresse. Du coup, tout repose sur le pare-feux mais il est très permissif pour permettre aux prestataires de l'administrer même en télétravail et sans VPN.
En IPv6, tu peux ségréger les accès via des adresses de services et des adresses d'administration et tu peux facilement faire des règles plus restrictives pour l'administration.
Le 30/12/2025 à 09h29
Ou as tu un lien à proposer ? Je ne connais pas du tout et ça m'intéresse!
Moi j'ai fini par couper mes services maison à distance car je ne suis pas capable de réagir vite aux patchs (même si on parle de services et données isolés).
Modifié le 30/12/2025 à 17h31
Le premier problème concerne l'opérateur. Mise à part avec free, avoir des services hébergés chez soi en IPv6 est vite compliqué avec les gros FAI. Rien que pour cette partie, il faudrait consacrer un tuto dédié.
Après, il y a des choses assez simples à faire avec un raspberry pi pour annoncer un préfixe ULA sur ton réseau en évitant le gros piège de la route par défaut. Si tu ne met pas une durée de vie de 0 à la route par défaut de ton préfixe privé, tu va envoyer le trafic internet sortant vers ce préfixe et tu va perdre ton accès Internet.
Pour corser un peu les choses, on peut mettre le réseau IPv6 privé dans un vlan, ce qui présente quelques avantages :
Sous linux, ajouter un vlan est tellement simple qu'il n'est pas nécessaire d'écrire quoi que ce soit. Sous windows, il faut passer par une bidouille du sous-système linux en ajoutant un pont réseau et une carte réseau virtuelle reliée au VLAN. Largement de quoi faire un tuto.
Une fois le préfixe ULA annoncé sur ton LAN, tu peux commencer à basculer tes services dessus.
Avec un serveur et des machines virtuelles ou conteneurs, tu peux passer à l'étape suivante: la délégation de préfixe. Là encore, c'est simple avec free et plus complexe avec les autre gros FAI.
Le 30/12/2025 à 17h41
Modifié le 30/12/2025 à 18h08
Il faut juste que tu te renseigne pour savoir si ton opérateur te laisse un préfixe global IPv6 constant ou s'il est potentiellement variable d'une connexion à une autre.
Si tu es dans le premier cas, c'est simple et tu peux te prendre un domaine pour tes services. Le .ovh est le moins cher de tous et de très loin. Tu pourras y placer les noms de service associés aux adresses de services que tu attribueras.
Sinon, il va falloir opter pour un service de dns dynamique.
Si tu ne passe pas par des enregistrements DNS, tu as la possibilité d'obtenir des certificats SSL associés à des adresses IPv6 publiques mais cela ne fonctionne que si ton préfixe est stable.
Les adresses de services IPv6 sont en général très simple et souvent basés sur le port correspondant par simplicité. Exemple typique pour un site web : [préfixe IPv6]::443
Pour un ssh par contre, il va être préférable de composer une adresse machine aléatoire pour éviter les scan d'adresse trop faciles.
Si tu veux t'attaquer à la délégation de préfixes, il faut savoir combien de préfixes 64 bits tu disposes. Chez free, c'est 8 au total alors que la box se voit attribué un /60. Chez d'autres opérateurs, s'est jusqu'à 256 mais avec des complications qui rendent ces préfixes difficilement utilisables. Mais le mieux est de commencer avec une architecture simple.
Le 30/12/2025 à 19h12
Le 5 janvier à 09h01
Le 5 janvier à 09h39
Vraie question.
Le 5 janvier à 11h22
Ce que j'ai dit, c'est que ta solution n'est pas universelle. Ca marchera pas pour un process qui a besoin de se connecter à Internet.
Vis à vis d'un firewall correctement configuré, je vois pas l'avantage.
Et attention aussi au faux sentiment de protection. Une exfiltration de donnée est toujours possible via le DNS par exemple. Si la Mongo demande nom_prenom_numérodeCB.mondomaine.tld, c'est l'OS qui fera la query avec sa GUA.
Modifié le 5 janvier à 14h39
Le deuxième cas devient courant à cause des registries type Docker et compagnie pour des clusters Kubernetes privés, par exemple.
(même si je ne vois pas quel process sur un serveur de BDD voudrait aller sur Internet)
Modifié le 5 janvier à 19h16
Après, on parle d'IPv6 donc ta machine ou ton conteneur qui fait tourner la base mongodb ou tout autre chose, peut avoir des adresses globales et ULA en //. Si un service a besoin d'avoir un accès sortant sur Internet, il n'a pas besoin d'une bidouille pour cela.
Le 29/12/2025 à 12h38
Ça aurait aussi protégé contre cette faille !
Modifié le 29/12/2025 à 12h42
Le 29/12/2025 à 17h45
Sincèrement, si une Mongo est accessible depuis le net en direct, le problème, ce n'est pas la faille de sécu, mais le gars qui a fait ça.
Je sais pas si ca a été évoqué dans la news linkée (que je n'ai pas lu), mais si j'étais un hackeur, je scannerais le net pour me garder un inventaire des instances applicatives de toute type dispo sur le net, si possible avec les numéros de versions. Comme ça, le jour où une faille de sécu comme celle-ci sort, bah j'ai pu qu'à l'exploiter immédiatement.
Pour dire que faire confiance au "mot de passe de la base", c'est juste attendre de se faire trouer.
Dès que l'exploit est publiée, c'est déjà trop tard. Le temps qu'un admin sys update la Mongo, y a déjà 10 hackeurs qui lui sont passée dessus.
Le 29/12/2025 à 19h23
Le 29/12/2025 à 20h36
La fausse simplicité du "cloud" a malheureusement permis à plein de gens de faire encore plus n'importe quoi, encore plus rapidement. En quelques clics de souris, sans aucune connaissance, tu peux te créer des serveurs. Et malheureusement, ça fonctionne... ou en tout cas, ça rend un service. Et puis comme ça tourne, bah on laisse tourner comme ça.
Le 29/12/2025 à 20h13
AS398324, CENSYS-ARIN-01, US
AS398705, CENSYS-ARIN-02, US
AS398722, CENSYS-ARIN-03, US
Amis ou ennemis, je m'en fou, ils n'ont rien à faire chez moi.
Le 29/12/2025 à 20h58
Modifié le 29/12/2025 à 23h51
En relisant l'article de 2015 sur l'open bar MongoDB, on tombe sur quelques commentaires croustillants, à commencer par @SébastienGavois qui se fait pourrir pour avoir parsemé le texte de "MangoDB".
Ou bien :Bon j'ai pas fait les 167 commentaires non plus, faut dire que la moulinette de Next passée par là, nous force à plisser un peu les yeux tel un disciple de Tank se forgeant au déchiffrement de la Matrice en temps réel.
Le 30/12/2025 à 07h45
Le 30/12/2025 à 01h07
Le correctif est humain. La remédiation consiste à donner des moyens/investir, et non plus simplement "coûter".
Modifié le 30/12/2025 à 08h13
Un serveur Web de présentation (Apache ou Ngnix)
Un serveur de base de données (MySQL, MariaDB, ou MongoDB)
Un navigateur avec éventuellement du JavaScript (Firefox, Chrome, Brave, Safari, ...)
C'est le serveur Web qui doit être accessible par Internet (avec éventuellement un répartiteur de charge si il ya beaucoup de traffic).
Le serveur de base de données ne DOIT être accessible que par le serveur Web.
Mais ça, c'était avant la mode du Cloud public.
Modifié le 30/12/2025 à 08h38
D'habitude, c'est front (exposé), back (pas censé être exposé) et db (encore moins censé être exposé).
En Cloud on peut privatiser les ressources pour éviter de les exposer, justement.
Signaler un commentaire
Voulez-vous vraiment signaler ce commentaire ?