| 标题 | diem-project diem 116974edfb9a5b8bd69cb13586dc62bcdbb485ad Cryptographically Weak PRNG |
|---|
| 描述 | `dmCorePlugin/lib/basic/dmString.php` implements `dmString::random()` by repeatedly calling PHP `rand()`. The password-reset action in `dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserActions.class.php` uses a 12-character value from this function as a bearer `forgot_password_code`, and the persistent-login path in `dmSecurityUser.class.php` derives its remembered-login key from the same output. The reset handler accepts the code to set a new password, while `dmRememberMeFilter` authenticates a request based on a matching key. These account-authentication tokens are generated by a non-cryptographic PRNG rather than a CSPRNG, so deployments where an attacker can predict or recover the PRNG state are exposed to account takeover. |
|---|
| 来源 | ⚠️ https://github.com/diem-project/diem/issues/458 |
|---|
| 用户 | cnluminous (UID 98136) |
|---|
| 提交 | 2026-09-30 18時06分 (18 日前) |
|---|
| 管理 | 2026-10-18 11時52分 (18 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 421689 [diem-project diem 直到 116974edfb9a5b8bd69cb13586dc62bcdbb485ad dmString.php dmString::random 弱加密] |
|---|
| 积分 | 20 |
|---|