Faille critique dans KeePass : un attaquant peut exporter les mots de passe en clair !
Des chercheurs en sécurité ont découvert une vulnérabilité critique dans KeePass, ce qui pourrait permettre à un attaquant de récupérer en clair tous les mots de passe stockés dans votre coffre-fort !
Pour rappel, KeePass est un gestionnaire de mots de passe open source qui permet de stocker ses identifiants et autres informations sensibles dans un coffre-fort chiffré et sécurisé. J'ai évoqué KeePass (ainsi que KeePass XC) dans un précédent article.
Associée à la référence CVE-2023-24055, cette faille de sécurité critique pourrait permettre à un attaquant ayant un accès en écriture au fichier de configuration XML, d'obtenir les mots de passe en clair en jouant sur les paramètres d'exportation de KeePass.
Sur Internet, il y a déjà plusieurs exploits PoC disponibles, comme c'est le cas sur l'espace GitHub d'Axel Hernandez. D'ailleurs, sur cette page il référence les actions possibles en exploitant cette vulnérabilité.
Si vous utilisez le gestionnaire de mots de passe KeePass, vous devez impérativement mettre a jour le logiciel sur votre PC, d’autant plus si vous utilisez une version 2.5X (même si c'est un peu flou pour les versions encore plus anciennes). Toutefois, un peu de patience car pour le moment la version corrigée n'est pas disponible car la dernière version, à savoir la 2.53 est également vulnérable ! KeePass est une cible très intéressante pour les cybercriminels car c'est l'un des gestionnaires de mots de passe les plus populaires et il est très apprécié dans le monde de l'IT !
Une vulnérabilité contestée
Il est important de préciser que cette faille de sécurité hérite actuellement du statut "Disputed" comme on peut le voir sur le site américain du NIST, car l'éditeur de KeePass estime que la base de données de mots de passe n'est pas censée être protégée contre un attaquant disposant déjà d'un accès local sur un PC.
Toutefois, c'est une réaction un peu étonnante à mon sens. Même si l'attaquant dispose d'un accès local au PC, il est préférable que la base de mots de passe reste un coffre-fort inviolable et accessible uniquement en ayant connaissance du mot de passe maître.
Quoi qu'il en soit, il sera recommandé d'appliquer la mise à jour dès qu'elle sera disponible !
Article mis à jour le 27/01/2023.
Je doute que la 2.53 corrige le problème car elle date de début janvier et j’ai lu que la faille était dans cette version notamment.
La fonctionnalité de trigger utilisée pour exporter la base en clair est connue des développeurs depuis des années, et nécessite un accès administrateur au poste pour être exploitée. Si l’attaquant est administrateur de ton poste rien n’est protégé dessus, l’attaquant pourra toujours faire une injection DLL dans le processus. Il ne s’agit donc bel et bien pas d’une faille, merci d’éviter les titres accrocheurs qui pourraient faire perdre confiance en KeePass, pourtant approuvé par l’ANSSI 🙂
Hello,
Merci pour ton commentaire. Je ne connais peut être pas toutes les techniques possibles mais j’estime qu’administrateur ou non, tu ne devrais pas pouvoir déverrouiller le coffre-fort à moins de connaître le mot de passe maître. Ça se discute et KeePass reste fiable à mon avis !
Merci pour ta réponse !
Petite précision : la technique des triggers ne permet pas à l’attaquant de passer outre le chiffrement et directement déverrouiller le coffre. En réalité elle permet « juste » de déclencher l’extraction des mots de passe *après* que l’utilisateur piégé le déverouille. Mais ça, c’est aussi possible en remplaçant le .exe, ou avec une injection DLL.. J’en parle en détail dans le MISC de mars prochain 😉
Concernant le « administrateur ou non » je ne suis pas d’accord : être admin d’un poste signifie qu’aucune donnée dessus n’est safe, quel que soit le logiciel utilisé : LastPass, Bitwarden, Dashlane sont tous vulnérable by design dans un contexte de post-exploitation (ex: prise de contrôle du navigateur à travers duquel les utilisateurs accèdent au gestionnaire) car ce n’est pas leur rôle de protéger les données contre ce genre de cas. Il s’agit d’ailleurs d’une des 10 grandes « loi immuables » de la sécurité énoncés par Microsoft il y a quelques années dont l’intitulé était : » If a bad guy can persuade you to run his program on your computer, it’s not your computer anymore ».
En espérant que le MITRE comprenne tout ça et refuse la CVE 🙂
+1
Clairement admin ou pas personne ne doit avoir accès. C’est un coffre fort non?
Donc c’est clairement un problème
Si l’éditeur estime que son logiciel ne protège pas contre quelqu’un ayant déjà un accès local, à quoi sert KeePass ? Il suffit de mettre ses MDP dans un fichier texte ou excel en accès lecture écriture NTFS uniquement à un administrateur donc. Un chiffrement, c’est un chiffrement uniquement si un facteur permet de déchiffrer (mot de passe, clef physique ou bio signature). L’ANSSI fait généralement des recommandations de l’ordre de la conformité et des bonnes pratiques. Pour la technique, ils n’ont pas forcément les compétences pour creuser les technologies de stockage d’un outil comme KeePass.
Bonjour, je suis d’accord avec vous pour le titre accrocheur, mais concernant l’approbation de l’ANSSI, il n’y a que la version portable 2.10 qui est CSPN par l’ANSSI.
Merci de corriger l’article si c’est possible.
La faille n’est pas corrigée en v2.53 -> cette article fait actuellement références et perturbe la vie des ITs 😉
C’est fait merci 🙂
KeePass fourni des mécanismes permettant aux administrateurs de limiter non seulement la fonctionnalité de triggers mais beaucoup d’autres options. Aussi de gérer comment le fichier de configuration est lu, et à partir d’où. Tout cela a un impact sur ce qui sera possible à un attaquant de faire d’un point de vu usager. Si votre attaquant est administrateur, c’est déjà peine perdu. Point également déjà mentionné est que cela éxige que l’utilisateur ouvre la base de données lui-même. Votre titre est accrocheur, faux, et il n’est aucunement surprenant que le CVE soit en dispute. Bien évidemment que la dernière version n’est pas « corrigée », puisque le CVE est invalide et sorti après le dernier release de KeePass.