Une faille de gravité moyenne a été découverte dans DiskStation Manager de Synology (DSM) qui pourrait être exploité pour déchiffrer le mot de passe d’un administrateur et pirater le compte à distance.
« Dans certaines conditions rares, un attaquant pourrait divulguer suffisamment d’informations pour restaurer la graine du générateur de nombres pseudo-aléatoires (PRNG), reconstruire le mot de passe administrateur et prendre le contrôle à distance du compte administrateur », Sharon Brizinov de Claroty. dit dans un rapport de mardi.
La faille, identifiée par l’identifiant CVE-2023-2729, est notée 5,9 en termes de gravité sur l’échelle de notation CVSS. La faille a été corrigée par Synology dans le cadre de mises à jour sorti en juin 2023.
Le problème vient du fait que le logiciel utilise un générateur de nombres aléatoires faible qui s’appuie sur JavaScript. Méthode Math.random() pour construire par programme le mot de passe administrateur du périphérique de stockage en réseau (NAS).
Qualifié de hasard non sécurisé, il surgit lorsqu’une fonction qui peut produire des valeurs prévisibles, ou qui n’a pas suffisamment d’entropie, est utilisée comme source d’aléatoire dans un contexte de sécurité, permettant à un attaquant de déchiffrer le cryptage et de mettre en échec l’intégrité des informations et des systèmes sensibles.
L’exploitation réussie de ces failles pourrait donc permettre à l’acteur malveillant de prédire le mot de passe généré et accéder à des fonctionnalités autrement restreintes.
« En divulguant la sortie de quelques nombres générés par Math.Random(), nous avons pu reconstruire la graine du PRNG et l’utiliser pour forcer brutalement le mot de passe administrateur », a expliqué Brizinov. « Enfin, nous avons pu utiliser le mot de passe pour nous connecter au compte administrateur (après l’avoir activé). »
L’attaque, cependant, repose sur l’extraction réussie par un attaquant de quelques GUID également générés à l’aide de la même méthode pendant le processus de configuration, afin de pouvoir reconstruire la phrase de départ du générateur de nombres pseudo-aléatoires (PRNG).
« Dans un scénario réel, l’attaquant devra d’abord divulguer les GUID susmentionnés, forcer brutalement l’état Math.Random et obtenir le mot de passe administrateur », a déclaré Brizinov. « Même après cela, par défaut, le compte utilisateur administrateur intégré est désactivé et la plupart des utilisateurs ne l’activent pas. »
« Encore une fois, il est important de se rappeler que Math.random() ne fournit pas de nombres aléatoires cryptographiquement sécurisés. Ne les utilisez pas pour quoi que ce soit lié à la sécurité. Utilisez plutôt l’API Web Crypto, et plus précisément la méthode window.crypto.getRandomValues() « .