Vulnérabilités de sécurité dues au PRNG faible de Dart/Flutter

2024-12-13

La recherche de Zellic a mis au jour plusieurs vulnérabilités de sécurité causées par un générateur de nombres pseudo-aléatoires (PRNG) faible dans Dart/Flutter. Un défaut dans l'initialisation de la fonction `Random()` du SDK Dart a entraîné une entropie insuffisante dans les clés générées, les rendant vulnérables aux attaques par force brute. Cela a permis aux attaquants d'accéder facilement au Dart Tooling Daemon, leur permettant de lire ou d'écrire des fichiers d'espace de travail et même d'exécuter du code arbitraire. De plus, les projets Proton Wallet et SelfPrivacy ont également été affectés par ce PRNG faible, subissant des vulnérabilités de chiffrement et des problèmes de mots de passe prévisibles. Bien que la vulnérabilité ait été corrigée, les développeurs sont invités à faire preuve de prudence lors de l'utilisation de la fonction `Random()` et à utiliser `Random.secure()` lorsque des nombres aléatoires cryptographiquement sûrs sont nécessaires.