Zend\Captcha\Word generates a "word" for a CAPTCHA challenge
by selecting a sequence of random letters from a character set. Prior to this
vulnerability announcement, 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. This release contains a patch that replaces the
array_rand() calls to use Zend\Math\Rand::getInteger(), which provides
better RNG.Zend\Crypt\PublicKey\Rsa\PublicKey has a call to openssl_public_encrypt()
which used PHP's default $padding argument, which specifies
OPENSSL_PKCS1_PADDING, indicating usage of PKCS1v1.5 padding. This padding
has a known vulnerability, the
Bleichenbacher's chosen-ciphertext attack,
which can be used to recover an RSA private key. This release contains a patch
that changes the padding argument to use OPENSSL_PKCS1_OAEP_PADDING.Users upgrading to this version may have issues decrypting previously stored
values, due to the change in padding. If this occurs, you can pass the
constant OPENSSL_PKCS1_PADDING to a new $padding argument in
Zend\Crypt\PublicKey\Rsa::encrypt() and decrypt() (though typically this
should only apply to the latter):
php
$decrypted = $rsa->decrypt($data, $key, $mode, OPENSSL_PKCS1_PADDING);
where $rsa is an instance of Zend\Crypt\PublicKey\Rsa.
(The $key and $mode argument defaults are null and
Zend\Crypt\PublicKey\Rsa::MODE_AUTO, if you were not using them previously.)
We recommend re-encrypting any such values using the new defaults.
Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:
sudo dnf upgrade --refresh --advisory=FEDORA-2016-03c0ed3127
Please log in to add feedback.
This update has been submitted for testing by siwinski.
This update has been pushed to testing.
This update has reached 7 days in testing and can be pushed to stable now if the maintainer wishes
This update has been submitted for stable by siwinski.
This update has been pushed to stable.