Every CVESearch/Get API key

GHSA-mg4x-prh7-g4mx

Zend-Captcha Information Disclosure and Insufficient Entropy vulnerability

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

What each source reports

GitHub Advisories Score used7.5

Zend-Captcha Information Disclosure and Insufficient Entropy vulnerability

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.

Record
GHSA-mg4x-prh7-g4mx
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-331
Updated
2026-11-02
OSV7.5

Zend-Captcha Information Disclosure and Insufficient Entropy vulnerability

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.

Record
GHSA-mg4x-prh7-g4mx
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-331
Updated
2026-11-02

Affected packages

Affected packages
PackageAffectedFixed
zendframework/zend-captcha
Packagist
2.0.0 up to 2.4.9
2.4.9
zendframework/zend-captcha
Packagist
2.5.0 up to 2.5.2
2.5.2
zendframework/zend-captcha
Packagist
2.0.0 up to 2.4.9, plus listed versions
2.0.32.0.42.0.52.0.62.0.7
Show 45 moreShow less
2.0.82.1.02.1.12.1.22.1.32.1.42.1.52.1.62.2.02.2.0rc12.2.0rc22.2.0rc32.2.12.2.102.2.22.2.32.2.42.2.52.2.62.2.72.2.82.2.92.3.02.3.12.3.22.3.32.3.42.3.52.3.62.3.72.3.82.3.92.4.02.4.0rc12.4.0rc22.4.0rc32.4.0rc42.4.0rc52.4.0rc62.4.0rc72.4.12.4.22.4.32.4.42.4.5
2.4.9
zendframework/zend-captcha
Packagist
2.5.0 up to 2.5.2, plus listed versions
2.5.1
2.5.2

History

History
RecordedChangedSources
first indexedGitHub Advisories, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

GHSA-mg4x-prh7-g4mx is a high vulnerability (CVSS 7.5) in zendframework/zend-captcha, published June 7, 2024. No source lists public exploit code. Fixed in zendframework/zend-captcha 2.4.9.

References

This page doesn't list everything

Left out here: 3 versions. The JSON record has them.

MoveEnter Open