GitHub Advisoryadvisory · Packagist
GHSA-mg4x-prh7-g4mx Zend-Captcha Information Disclosure and Insufficient Entropy vulnerability
HIGH
Official page ↗
- Ecosystem
- Packagist
- Packages
- zendframework/zend-captcha
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses
- CWE-331
- Reviewed
- 2024-06-07
Affected packages
• Packagist zendframework/zend-captcha: >= 2.0.0, < 2.4.9 → fixed in 2.4.9
• Packagist zendframework/zend-captcha: >= 2.5.0, < 2.5.2 → fixed in 2.5.2
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
Weakness · CWE (1)
- CWE-331 Insufficient Entropy weakness
References
- https://github.com/zendframework/zend-captcha/commit/43c276df6e94e498bf530538aea53876a24fc47c web
- https://github.com/zendframework/zend-captcha/commit/5561ef813bb4ad814e835343289dc5077d2eb262 web
- https://framework.zend.com/security/advisory/ZF2015-09 web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/zendframework/zend-captcha/ZF2015-09.yaml web
- https://github.com/zendframework/zend-captcha package