PHP remote code execution via stale global state
PHP has various global state that temporarily points into request memory.
php:7.4 security update
Released 2026-10-21 · Red Hat rating Important · View on Red Hat →
PHP has various global state that temporarily points into request memory.
PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request.
When the HTTP stream wrapper follows a redirect and the response carries a Location header with an empty value, the redirect code reads one byte past the end of the heap buffer holding the location.
The SOAP HTTP client guards its response buffer growth with a check that relies on signed integer overflow, which is undefined behaviour and is not guaranteed to trigger.
phar_tar_number() parses the octal size field of a TAR header into a uint32_t with no overflow check.
cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit.
The IPv6 branch of the FastCGI client access check compares only the first 12 bytes of a 16-byte IPv6 address, so listen.allowed_clients matches on a /96 prefix instead of the exact address.
php_openssl_matches_wildcard_name() in ext/openssl/xp_ssl.c underflows the length argument passed to memchr() when a TLS server certificate presents a wildcard name whose literal characters are together longer than the h…
The convert.base64-encode, convert.quoted-printable-encode and convert.quoted-printable-decode stream filters accept a line-break-chars option whose length is tracked separately from the string itself.
When the http:// stream wrapper follows a redirect it forwards the user-supplied Authorization, Cookie and Proxy-Authorization headers unchanged, even when the redirect target is a different host, a different port, or a…
The mysqlnd wire protocol parser reads fields out of server packets before checking that the packet still holds enough bytes for them.
PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries first and, whenever no entry matches, falls back to the Common Name.