GitHub Advisoryadvisory · Packagist
GHSA-2fhr-8r8r-qp56 ZendFramework Information Disclosure and Insufficient Entropy vulnerability
MEDIUM
Official page ↗
- Ecosystem
- Packagist
- Packages
- zendframework/zendframework
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Weaknesses
- CWE-200, CWE-331
- Reviewed
- 2024-06-07
Affected packages
• Packagist zendframework/zendframework: >= 2.0.0, < 2.4.9 → fixed in 2.4.9
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.
Related
References
- https://github.com/zendframework/zendframework/commit/ced8ff93ef892a64885c03f5dfab3f788a219709 web
- https://framework.zend.com/security/advisory/ZF2015-09 web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/zendframework/zendframework/ZF2015-09.yaml web
- https://github.com/zendframework/zendframework package