Dart/Flutter弱PRNG引发的安全漏洞

2024-12-13

Zellic的研究揭示了Dart/Flutter中弱伪随机数生成器(PRNG)导致的多个安全漏洞。由于Dart SDK中`Random()`函数的初始化方式存在缺陷,导致生成的密钥熵不足,容易被暴力破解。这使得攻击者能够通过简单的代码轻易获得Dart Tooling Daemon的访问权限,从而读取或写入工作区文件,甚至执行任意代码。此外,Proton Wallet和SelfPrivacy项目也因使用了该弱PRNG而受到影响,分别存在加密漏洞和可预测密码问题。该漏洞已修复,但提醒开发者应谨慎使用`Random()`函数,并在需要安全随机数时使用`Random.secure()`。

开发