NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐘
🐘 Packagist
Not in CISA KEV
HIGH severity

Zend-Captcha Information Disclosure and Insufficient Entropy vulnerabilityGHSA-mg4x-prh7-g4mx

HIGHFix: zendframework/zend-captcha@43c276d

GHSA-mg4x-prh7-g4mx is a high-severity (CVSS 7.5) vulnerability in zendframework/zend-captcha. A fix is available for zendframework/zend-captcha — see the affected versions and patch details below.

Published
Updated
Affected
2 pkgs
Patched
2 / 2
Exploits
None indexed
Exploitation data as of Dec 4, 2024 · OSV.dev, FIRST.org (EPSS)

Real-World Exposure

2 pkgs affected
🐘zendframework/zend-captcha🐘zendframework/zend-captcha

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.

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.

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
🐘Packagistzendframework/zend-captcha≥ 2.0.0&&< 2.4.92.4.9composer require zendframework/zend-captcha:^2.4.9
🐘Packagistzendframework/zend-captcha≥ 2.5.0&&< 2.5.22.5.2composer require zendframework/zend-captcha:^2.5.2

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for zendframework/zend-captcha, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update zendframework/zend-captcha to 2.4.9 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-mg4x-prh7-g4mx is resolved across your whole dependency graph.

  3. Workarounds

    Assume what was exposed is already known: rotate any credential, token or key that the affected component could return, restrict the endpoint to callers that genuinely need it, and strip sensitive fields from responses and error output at the boundary rather than relying on the client not to read them.

Frequently Asked Questions

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.
O3 Security · Impact-Aware SCA

Is GHSA-mg4x-prh7-g4mx in your dependencies?

Find it across Packagist, including transitive dependencies.

Zend-Captcha Information Disclosure and Insufficient…