zendframework/zendframework · Security
ZendFramework Information Disclosure and Insufficient Entropy vulnerability
- GHSA ID
- GHSA-2fhr-8r8r-qp56
- Severity
- medium
- Published
- Updated
- CVSS
- 5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- CVSS v3
- 5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Description
In Zend Framework, Zend_Captcha_Word (v1) and Zend\Captcha\Word (v2) generate a "word" for a CAPTCHA challenge by selecting a sequence of random letters from a character set. Prior to this advisory, the selection was performed using PHP's internal array_rand() function. This function does not generate sufficient entropy due to its usage of rand() instead of more cryptographically secure methods such as openssl_pseudo_random_bytes(). This could potentially lead to information disclosure should an attacker be able to brute force the random number generation.
CWEs
- CWE-200 · Exposure of Sensitive Information to an Unauthorized Actor
- CWE-331 · Insufficient Entropy
References
- https://github.com/zendframework/zendframework/commit/ced8ff93ef892a64885c03f5dfab3f788a219709 ↗
- https://framework.zend.com/security/advisory/ZF2015-09 ↗
- https://github.com/FriendsOfPHP/security-advisories/blob/master/zendframework/zendframework/ZF2015-09.yaml ↗
- https://github.com/advisories/GHSA-2fhr-8r8r-qp56 ↗