PHP Release 8.2.20

PHP 8.2.20 Release Announcement

The PHP development team announces the immediate availability of PHP 8.2.20. This is a security release.

All PHP 8.2 users are encouraged to upgrade to this version.

For source downloads of PHP 8.2.20 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.

Source Code
PHP 8.2.20 (tar.gz)
SHA256: 05a4365f7bc6475ac4fef65dde13886913dbc0036e63895d369c1fc6e8206107
PHP 8.2.20 (tar.bz2)
SHA256: 5dec6fa61c7b9c47aa1d76666be651f2642ed2bcf6cd8638c57e3571ce2aac61
PHP 8.2.20 (tar.xz)
SHA256: 4474cc430febef6de7be958f2c37253e5524d5c5331a7e1765cd2d2234881e50
Change Logs
cgi
  • Fixed buffer limit on Windows, replacing read call usage by _read.
  • Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
cli
  • Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
core
  • Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
  • Fixed bug GH-14140 (Floating point bug in range operation on Apple Silicon hardware).
dom
  • Fix crashes when entity declaration is removed while still having entity references.
  • Fix references not handled correctly in C14N.
  • Fix crash when calling childNodes next() when iterator is exhausted.
  • Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
ffi
  • Fixed bug GH-14215 (Cannot use FFI::load on CRLF header file with apache2handler).
filter
  • Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
fpm
  • Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
hash
  • ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__`
intl
  • Fixed build regression on systems without C++17 compilers.
ini
  • Fixed bug GH-14100 (Corrected spelling mistake in php.ini files).
mysqlnd
  • Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
opcache
  • Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
openssl
  • The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.
standard
xml
  • Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
xmlreader
  • Fixed bug GH-14183 (XMLReader::open() can't be overridden).
To Top