[CLSA-2026:1791465169] alt-php71: Fix of CVE-2025-1218
Type:
security
Severity:
Important
Release date:
2026-10-08 13:13:01 UTC
Description:
- CVE-2025-1218: packet over-reads in the mysqlnd wire-protocol parser - the greeting, auth response, OK, EOF, result-set header, result-set field, row and prepare readers decoded fields out of a server packet before checking that the packet still held enough bytes for them, so a malicious or compromised MySQL server could make the client read past the end of the packet buffer, leak heap bytes into user-visible result-set metadata, or allocate and copy a huge attacker-chosen length; php_mysqlnd_net_field_length() and its _ll variant now take the remaining packet size and refuse lengths whose payload is not present, the BAIL_IF_NO_MORE_DATA macro that only noticed an over-read after the fact is replaced by BAIL_IF_NOT_ENOUGH_DATA_EX(n), the unterminated auth-plugin-name branches use memchr() instead of trusting a NUL terminator, and the TIME/DATE/DATETIME prepared-statement readers stop decoding fixed offsets out of a shorter declared length (backport of upstream 114dbb74368e6a6cd6e48ddb4a76dbe8728b84e2, with upstream d37a20c4a24a70dbbcfd8724cd2ad5f1b005bd2a carried as a prerequisite because the fix removes the greeting buffer's NUL terminator; the php_mysqlnd_prepare_read() and php_mysqlnd_sha256_pk_request_response_read() hunks are hardening rather than memory-safety fixes, and the mysqlnd_ps.c hunk is a memory-leak fix on a newly reachable failure path) - Also fixes a pre-existing use-after-free on the row-reader failure path: the CVE-2024-8929 error loops free every field decoded so far without clearing the zvals, and the result set frees them again at teardown. All 3 sites now clear after freeing. Confirmed under AddressSanitizer with the Zend allocator disabled - heap-use-after-free before, clean after, on the three new short-length tests and the nine CVE-2024-8929 stmt-row tests. Upstream still carries the same loops unguarded in php-8.2.34 through php-8.5.11 - The mysqlnd_ps.c hunk additionally releases the result's own connection reference on the prepare-EOF path: before PHP 7.4 (upstream f365d0e00ed9) free_result_contents() did not drop it, so that path leaked one reference
CVEs fixed:
Updated packages:
  • alt-php71-7.1.33-113.el8.x86_64.rpm
    sha:1ff53927adf85483a67fdead18559d1fd78593d03b1051939dcf8b32e0daede9
  • alt-php71-bcmath-7.1.33-113.el8.x86_64.rpm
    sha:644c63eddb83d77f91ad08f3337706f2f9164cc9b828db6087000ba6780284dc
  • alt-php71-cli-7.1.33-113.el8.x86_64.rpm
    sha:6892946bcad72eb981f6f97d5a1c11d59fbf0fdacbae5a5c76f4e5a4273742ec
  • alt-php71-common-7.1.33-113.el8.x86_64.rpm
    sha:1ed1dddac1926c82a217047d9d108e9857f74482273f710ff59546ee4497c6b3
  • alt-php71-dba-7.1.33-113.el8.x86_64.rpm
    sha:d293a3c8320f249852622bc52ae68927b6c8731f0708a4cb0035a691a80eeb04
  • alt-php71-devel-7.1.33-113.el8.x86_64.rpm
    sha:83e6d90d709f8e3f25efc4308980a2d14759aebe53a722561a3017b6a665722d
  • alt-php71-enchant-7.1.33-113.el8.x86_64.rpm
    sha:46ea89d59cb2f60565bf9dd241ed238b0b337cb3fe3785a281444ec72abbd7f6
  • alt-php71-firebird-7.1.33-113.el8.x86_64.rpm
    sha:24ab5743286ee5ced143da1e3ae8a3fefde1f0c21d80461d66f27dab794f644b
  • alt-php71-gd-7.1.33-113.el8.x86_64.rpm
    sha:188066d60aacba9a2ce290058f3498afbf4141c161fab0aae1dc8a7c6ac7c8da
  • alt-php71-imap-7.1.33-113.el8.x86_64.rpm
    sha:f40272895888304c7a226b25503254dcae32b537e8f04470ea3acc8fb2aa63c4
  • alt-php71-intl-7.1.33-113.el8.x86_64.rpm
    sha:3331de3a03cbfbac44dc3f72ac59aaa6a616b1ad13ec8020d634a4a574e64c3a
  • alt-php71-ldap-7.1.33-113.el8.x86_64.rpm
    sha:dd0990e988dc58eae53ac205450dcfd06baa20e170f94a0e1bdab66396946be1
  • alt-php71-mbstring-7.1.33-113.el8.x86_64.rpm
    sha:542120569b28469a4368e04ae9dbaf3f3933a7b1455ad8c659fadfe5a49f4288
  • alt-php71-mcrypt-7.1.33-113.el8.x86_64.rpm
    sha:1b90b0cd0651495d1a3337b1e54debba2e345c7bc0371130fe6123e9e34a24c8
  • alt-php71-mysqlnd-7.1.33-113.el8.x86_64.rpm
    sha:4d7e586014a87516d2d838b5f6877414019d8ab71647def72d26ccc74cf8c6a7
  • alt-php71-odbc-7.1.33-113.el8.x86_64.rpm
    sha:878d856637bd467323aa05a6e409c524edbef46ebb8accd49394004b41ec1c84
  • alt-php71-opcache-7.1.33-113.el8.x86_64.rpm
    sha:2f869e7987abef1862893c1414db22b1af100d8ec99aa438f1f2b4a99db4bb56
  • alt-php71-pdo-7.1.33-113.el8.x86_64.rpm
    sha:9e019fe6368b20c994376eee65cd8cb050c6f3dd218e8d65941405a5ad9da9bd
  • alt-php71-pgsql-7.1.33-113.el8.x86_64.rpm
    sha:23dae0804e64c8046b8c46b53e17447d0c71dfb44108f86be3105aa6ac630d79
  • alt-php71-php-fpm-7.1.33-113.el8.x86_64.rpm
    sha:6dde11de86910e308afd2293f356f8bf3c3b0966b2ffcd71a6c2f4743c03e56f
  • alt-php71-process-7.1.33-113.el8.x86_64.rpm
    sha:13ca19d61ddb1f36f72e5680c3789f9aa5f83b87e778f577a0a3aea31ceb2123
  • alt-php71-pspell-7.1.33-113.el8.x86_64.rpm
    sha:17aa1d99629bfc38027ebd8460954b9acf15d5849db0f201d568fe1bcf7bb36d
  • alt-php71-recode-7.1.33-113.el8.x86_64.rpm
    sha:44477b97cc3ee632e185ef5db4464da2d74b32cbc67ba73ded5008ceda58bd00
  • alt-php71-snmp-7.1.33-113.el8.x86_64.rpm
    sha:46e1d774b9a9a7052c7dd685cd34e25b8bac47720f5d04e1cff8eac1def9457c
  • alt-php71-soap-7.1.33-113.el8.x86_64.rpm
    sha:005d8026c8eab27011aef563b1a6b8897005a889744e7d49ab2fa96e3393a52d
  • alt-php71-tidy-7.1.33-113.el8.x86_64.rpm
    sha:a8db1bd21028f445d47a45279024e23be78d7d515ac2cf213463686472d8a274
  • alt-php71-xml-7.1.33-113.el8.x86_64.rpm
    sha:368a6e917afcf85346989ae431797ada4bdb55f2cf69ab1797786159195bc5e2
  • alt-php71-xmlrpc-7.1.33-113.el8.x86_64.rpm
    sha:ab526232efca703c1fa1afb413438478e77bf811ad687b2051fac19f84631ba3
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.