php:7.4 security update
エラータID: AXSA:2026-2134:01
PHP is an HTML-embedded scripting language commonly used with the Apache HTTP Server.
Security Fix(es):
* php: php: Out-of-bounds read via empty HTTP redirect Location header (CVE-2026-93682)
* php: PHP: Archive entry injection via integer overflow in TAR parser (CVE-2026-6103)
* php: PHP: Denial of Service via heap buffer overflow in SOAP client (CVE-2025-14181)
* php: php: Denial of Service via unbounded recursion in SOAP parser (CVE-2026-91765)
* php: php: Credential disclosure via cross-origin HTTP redirects (CVE-2026-91766)
* php: php: Information disclosure via crafted TLS server certificate (CVE-2026-91767)
* php: php: Denial of Service via out-of-bounds read in mysqlnd wire protocol parser (CVE-2025-1218)
* php: php: Access control bypass via partial IPv6 address comparison (CVE-2026-91768)
* php: php: Information disclosure via out-of-bounds read in stream filters (CVE-2026-92842)
* php: php: Server impersonation via Common Name fallback in TLS verification (CVE-2026-91769)
* php: OOM bailout during request parsing leads to memory corruption and RCE (CVE-2026-109618)
* php: fatal error handling retains stale request state leading to use-after-free (CVE-2026-109619)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
CVE-2025-1218
The mysqlnd wire protocol parser reads fields out of server packets before checking that the packet still holds enough bytes for them. A malicious or compromised MySQL server can send a truncated packet and make the client read past the end of the packet buffer, which is undefined behaviour and can crash the process.
CVE-2025-14181
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. When the check is optimised away, a malicious SOAP server can make the client allocate a buffer far smaller than the data it then writes into it, producing a heap buffer overflow.
CVE-2026-109618
PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).
CVE-2026-109619
PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset, or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).
CVE-2026-6103
phar_tar_number() parses the octal size field of a TAR header into a uint32_t with no overflow check. The field is 11 octal digits wide and holds values up to 0x1FFFFFFFF, so a size above 0xFFFFFFFF silently wraps. The parser then skips the wrong number of data blocks and interprets attacker-controlled file content as the next TAR header, which lets a crafted archive inject entries that PharData reports and extracts as if they were genuine.
CVE-2026-91765
cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any SoapServer endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper.
CVE-2026-91766
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 downgrade from HTTPS to HTTP. A server that can steer a redirect therefore receives credentials that were only meant for the original origin. This is the same class of issue that libcurl fixed in 7.58.0 ( CVE-2018-1000007 https://github.com/advisories/GHSA-g7x2-hrfp-pv5f ).
CVE-2026-91767
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 hostname being verified. A malicious server presenting such a certificate makes the PHP client read up to SIZE_MAX bytes past the end of a heap allocation. The path is reachable from any default client stream, because verify_peer_name is enabled by default.
CVE-2026-91768
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. An attacker who can source an address sharing the first 96 bits with an allowed one passes the check and reaches the FastCGI endpoint.
CVE-2026-91769
PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries first and, whenever no entry matches, falls back to the Common Name. RFC 6125 requires the CN to be ignored once the certificate presents any service identity, so a certificate carrying a non-matching DNS SAN was still accepted when its CN matched the requested peer_name. A certificate trusted by the client for one name can therefore be used to impersonate another.
CVE-2026-92842
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. The filter constructors duplicate the value with pestrdup(), which stops at the first NUL byte, while keeping the original length. When the filter later emits a line break it copies the recorded length out of the truncated allocation, reading past its end and placing adjacent heap bytes into the filter output.
CVE-2026-93682
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 value of that out-of-bounds byte decides which redirect target is built, so a malicious server controls whether the client is sent to the host root or to the current directory.
Modularity name: "php"
Stream name: "7.4"
Update packages.
The mysqlnd wire protocol parser reads fields out of server packets before checking that the packet still holds enough bytes for them. A malicious or compromised MySQL server can send a truncated packet and make the client read past the end of the packet buffer, which is undefined behaviour and can crash the process.
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. When the check is optimised away, a malicious SOAP server can make the client allocate a buffer far smaller than the data it then writes into it, producing a heap buffer overflow.
PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).
PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset, or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).
phar_tar_number() parses the octal size field of a TAR header into a uint32_t with no overflow check. The field is 11 octal digits wide and holds values up to 0x1FFFFFFFF, so a size above 0xFFFFFFFF silently wraps. The parser then skips the wrong number of data blocks and interprets attacker-controlled file content as the next TAR header, which lets a crafted archive inject entries that PharData reports and extracts as if they were genuine.
cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any SoapServer endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper.
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 downgrade from HTTPS to HTTP. A server that can steer a redirect therefore receives credentials that were only meant for the original origin. This is the same class of issue that libcurl fixed in 7.58.0 ( CVE-2018-1000007 https://github.com/advisories/GHSA-g7x2-hrfp-pv5f ).
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 hostname being verified. A malicious server presenting such a certificate makes the PHP client read up to SIZE_MAX bytes past the end of a heap allocation. The path is reachable from any default client stream, because verify_peer_name is enabled by default.
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. An attacker who can source an address sharing the first 96 bits with an allowed one passes the check and reaches the FastCGI endpoint.
PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries first and, whenever no entry matches, falls back to the Common Name. RFC 6125 requires the CN to be ignored once the certificate presents any service identity, so a certificate carrying a non-matching DNS SAN was still accepted when its CN matched the requested peer_name. A certificate trusted by the client for one name can therefore be used to impersonate another.
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. The filter constructors duplicate the value with pestrdup(), which stops at the first NUL byte, while keeping the original length. When the filter later emits a line break it copies the recorded length out of the truncated allocation, reading past its end and placing adjacent heap bytes into the filter output.
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 value of that out-of-bounds byte decides which redirect target is built, so a malicious server controls whether the client is sent to the host root or to the current directory.
N/A
SRPMS
- libzip-1.6.1-1.module+el8+2061+cf46f751.src.rpm
MD5: 8bca024ca292578b0ce290d6cce4afc4
SHA-256: 308798ea2f58dd86fee8eb3882289c700d7a06f87ac125c2f834ba595be14b06
Size: 732.66 kB - php-pear-1.10.13-1.module+el8+2061+cf46f751.src.rpm
MD5: 5388b62766816d1ef6aa58f67238960f
SHA-256: 3b13902c879c89a5624e8bd0a4e523f10e8408b273cee4a66d5789773919593e
Size: 380.40 kB - php-pecl-apcu-5.1.18-1.module+el8+2061+cf46f751.src.rpm
MD5: 1ac51b50795c71f457c0b96e42373136
SHA-256: aa96319ddf4cf0e7d76e09667c93e1db15b5b47ba2aa6fc8a2644574e146d5c1
Size: 107.49 kB - php-pecl-rrd-2.0.1-1.module+el8+2061+cf46f751.src.rpm
MD5: 7fa3ae35a7b0fc73eed41a55a790a5da
SHA-256: 1af78bbf29c7ad3686bdccf9469d43894115084ef830b162db8e48f21b26bc77
Size: 33.11 kB - php-pecl-xdebug-2.9.5-1.module+el8+2061+cf46f751.src.rpm
MD5: d415727f4b64f23c194ef129da98c210
SHA-256: 8b2954088fc4838096a21903426430da0664492b38012c083b788f46c2c0e7e3
Size: 442.81 kB - php-pecl-zip-1.18.2-1.module+el8+2061+cf46f751.src.rpm
MD5: 28fb528e168f14178b0ceb20e3406b25
SHA-256: 1ec35407a5a742789797e421594f0d18354bb1095ad439dfb5ec6060cc2bd862
Size: 307.81 kB - php-7.4.33-8.module+el8+2061+cf46f751.src.rpm
MD5: 1c2d436a90212adc929e7f17e0d6a4ef
SHA-256: e4db642d1570cb8d1243e32b88d6df4ae6a0d359a4371ef5c8b852ad543e4af8
Size: 10.26 MB
Asianux Server 8 for x86_64
- apcu-panel-5.1.18-1.module+el8+2061+cf46f751.noarch.rpm
MD5: 8e5f3d0d54b9d9bf5d337dea8aba3462
SHA-256: e7ad5dfa87fb0f097600ee0ca392948c7770257d8c359d62a22588f5ad8b5ed7
Size: 22.29 kB - libzip-1.6.1-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 002f9b07e9b2cd3faa48b9a5d8f472bc
SHA-256: d795989419978569668a481bae5519072b85ecf6f3fa66b5c3b5a1f7f151aa8e
Size: 63.02 kB - libzip-debugsource-1.6.1-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: f71afc5ec9793fae8c58ee08394c97ec
SHA-256: 69d7f456ea733594fbb0decf35d1af0a4e0e8c0c7db886d91377c8d661019d55
Size: 100.33 kB - libzip-devel-1.6.1-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 81bb1fe8d886a77147f4b4044538aa71
SHA-256: f64e1ba08c1bbf4e43a4eb07de6d4b1813679c53d24898c23029b6ea96daae4c
Size: 180.02 kB - libzip-tools-1.6.1-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: edc9bc29f28facde9e976b956b54b9ac
SHA-256: 71e146e4088c44014d902a65da465a0689715043fbcd90f1d1faf96fa79f5969
Size: 42.62 kB - php-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 689a5005f705b00168caacda0162d9e5
SHA-256: e46e04032b8aea08fe395d5caf778b76ed8d2013cfdc1474e0e43bcb448dee9d
Size: 1.52 MB - php-bcmath-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 68ed9f3d5b7d10296164c7b23a156445
SHA-256: 9136ccca3a5d0704402fc78b7b51cc09bf4c26a818fb309ef7391b4e326e99ba
Size: 83.31 kB - php-cli-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 2181584e51848c273d380bc739c7905a
SHA-256: b6d1d1ab0e47a4a73b40803e1402c54a096577163bb3687379b4b17e9ef3ae9b
Size: 3.08 MB - php-common-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: db5354776c3a25a14cc9af83c572bdfc
SHA-256: 13f21b9282be64b98dabfb23690575370dbc25a492b8feacc43b8d3998cbfc20
Size: 711.02 kB - php-dba-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 41d3a784c9695b69e5e97bc32b7276fe
SHA-256: cf5a8c6677ec195cb0e655c27fff8f56c12d342b678b3ad66b9cead84890c0b4
Size: 82.08 kB - php-dbg-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 2ddd45088489c8bad6927a2fdbee61d2
SHA-256: 9bfa3d9c47ee9edb65055d948c48cbfba92de011a5d642a601c29da1e66e9c26
Size: 1.64 MB - php-debugsource-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 324a81c6bcbde6e4f310d66dc76bcf60
SHA-256: b4e9f321513bb959a5dca17284c4e8edc803bf86b94c90965b46c074c153df1c
Size: 4.13 MB - php-devel-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: ecfa1ef57b4835f24a4b50716c447b3b
SHA-256: ea9d2ed8ca44b08bbe890a71027cc01fb0d17a762d5748db29d58831abcc202d
Size: 733.73 kB - php-embedded-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 3d721e2afc7c3927aecffd27d952134a
SHA-256: 382aae73be2baac46245c25c18c2615424d4a59963598506c2777b6e61035556
Size: 1.52 MB - php-enchant-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 13801fe1f183202e3a1d413aa8e4b82e
SHA-256: 6d9c8c845e9ebd99649ce7b4d12ce613331e95556417095a7a43c4998b90cd14
Size: 68.00 kB - php-ffi-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: bd5e7c5fcc23957c7d51cea255fe116c
SHA-256: 958946623f6e0cdcbc1d3c0427f281404927661e19242e74a123c7d2976bd142
Size: 120.25 kB - php-fpm-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: efe2bdb9fcd9fbdbf2d74a1887c2c882
SHA-256: 0a6fe807c2065e45a88ccb21616bf1afde754527a2a66eb9c2a1a1e2d646c6a3
Size: 1.61 MB - php-gd-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 89a5a97d4b05864468ce260a3fe91935
SHA-256: f2203ac914f0bee0c3023430cb15b72195a73829ca3a4586a030d71c569e91c1
Size: 88.23 kB - php-gmp-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: ab318ff7d643b86ea08b0930428a019e
SHA-256: a645a30f64decb4b97b77473fac9be1ca2abf871a09e473899dbfdb69d37cb07
Size: 80.05 kB - php-intl-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: cc8b2b9d2924409c617d42ab7bbe1698
SHA-256: deabc235085c416ff84decddf1a8ad14e51f7777de83ebc7352e4c61e6b24d29
Size: 196.12 kB - php-json-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 7785cf25962a664d1863e74e98ab50f8
SHA-256: 28ea54947c0a4a02857c9e51807dbe228ac9e5192782565e4c9ac940ffafcd29
Size: 77.53 kB - php-ldap-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: b46643e661c956737eecf077faaace07
SHA-256: ed27ac369d5937ab6d5b67579515f22791bf66acbee36440e52d106a87cf9d7a
Size: 89.40 kB - php-mbstring-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 35f9bbd7b288e9daeaae1821f41f77fe
SHA-256: fb302225c7daff24e93748b3a59af0632774b83fe2ecf521deef831208a43143
Size: 486.94 kB - php-mysqlnd-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 5376eb7e92ff32c9f806501ac3c66b62
SHA-256: 0245168e4dac567354a0f0f434bb25336eaf2e5a16872f7c303d293e5a399cc9
Size: 196.78 kB - php-odbc-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: b591deec98903263b858e2ed27d3173c
SHA-256: ffdc8fe745659eab7b534eeac41f4b95770cd9bbf85f6b944775598339b34232
Size: 93.27 kB - php-opcache-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 2bef633ca00f53adc97647d4d0dbf023
SHA-256: 126d6eb0a98088a20eeae5ba02b6af09a0bd13fd561db1ea20fefac5f7a11f71
Size: 270.66 kB - php-pdo-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: d126270eec3ac6a5ff66eff10f8df953
SHA-256: a1c958a1756169adcea1ecb8448eb7b85e7c952a48c63e6d175d4318614cc41b
Size: 126.32 kB - php-pear-1.10.13-1.module+el8+2061+cf46f751.noarch.rpm
MD5: 80262da42c16ab3760178894af836eb8
SHA-256: fe9832e0f6c9e6d2d5f39da05d3e7f8a2afefa402fce960448eaf026a2719eca
Size: 360.48 kB - php-pecl-apcu-5.1.18-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 0347f67cae4d6d90703a05c508512870
SHA-256: 5feffe20fb475af09c65ed3a9f9d27f2164f06cf467342feb8347d4f281cd949
Size: 62.56 kB - php-pecl-apcu-debugsource-5.1.18-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: fbf809567496f50619146a4a249b8f50
SHA-256: 519c87e90976e567623c81f9e7563ca9a50427ba7a2c2e1e5a39946252335111
Size: 49.52 kB - php-pecl-apcu-devel-5.1.18-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 23c7b0caa6106408b01f0c7e2fa33dc0
SHA-256: 42c0bb013821e32b25325954dc63754821306feec75aa4111dbf2c5103301523
Size: 46.16 kB - php-pecl-rrd-2.0.1-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 780b45a33f22c657c5671e284ff59b1c
SHA-256: b12231b24091e4a015c28143e1922d977779216497f2334dd845db75fa3a0698
Size: 30.30 kB - php-pecl-rrd-debugsource-2.0.1-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 440cf94f5e79be7562a5d4b008f5932b
SHA-256: addf8218c0506a46899b51ac510f8652cb601fd956c9830cea8209ebd41b49f6
Size: 22.38 kB - php-pecl-xdebug-2.9.5-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 5efdae8d2ebebadc5f80bf5a68109001
SHA-256: c23e26baa158884f547b777017a940b21435c1deab52ba2089601916e94a6ed8
Size: 175.94 kB - php-pecl-xdebug-debugsource-2.9.5-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: 8e9aa622c4e3ce7f54ca6d88a3614b14
SHA-256: cb64b054c08667a12b7db033d234d37107f6396a324696bd8baea82c69948e3f
Size: 134.23 kB - php-pecl-zip-1.18.2-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: b6a912c50a72d3cb5c56faf804279390
SHA-256: 0424f5f61e336b89008d0c1e25d91749f588fea87632de5873ea04db4c24fba0
Size: 53.32 kB - php-pecl-zip-debugsource-1.18.2-1.module+el8+2061+cf46f751.x86_64.rpm
MD5: eae5b3cf478598fc2159fa85da4615a2
SHA-256: 5266e78646be32c0b299894a12a10ff10111dcaa34f1b2c7d7ef431c02228cda
Size: 31.19 kB - php-pgsql-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 5c8b7988439ae3391e4cf773d71b9e8f
SHA-256: 2e5ab9098e4b1eebef18f6ff7aa0f56aefb44bcf68f76ebd17b7896d91a5e871
Size: 122.39 kB - php-process-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 35c714857e7774ca706617eda6f48623
SHA-256: 9f4c17bf254f0c1470f298062e94e12669665121052152de59c3dfbff99a335b
Size: 88.40 kB - php-snmp-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 803d3a3d7a04b4abeaa62f8d00dfd8e1
SHA-256: 32b11570d1e20c2e3629cd73ca178aeddd87595739ff49c66335deda4c68d25c
Size: 77.80 kB - php-soap-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: 5bda183d0eb1ab6e3192ac3db28d3513
SHA-256: 8f5b5f6727307ababa268f24d1dccbd6dde903bab7c69e9fea74fcfcb1e707a5
Size: 180.20 kB - php-xml-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: ae49d8b91c430982e2a9d623321b1e13
SHA-256: 00ac4864229ad6b770f9fbf10c4b391fb64bd454b078bac0ac316aa6a56c902d
Size: 178.52 kB - php-xmlrpc-7.4.33-8.module+el8+2061+cf46f751.x86_64.rpm
MD5: ac4a061cd2481633da5ce4c3c2d8dbf8
SHA-256: accb059d8ee6b9d44198f68dac17eab2710b4f36a2517209983d4ddfe71e5ee2
Size: 93.08 kB