[CLSA-2026:1791545413] alt-php71: Fix of CVE-2025-1218
Type:
security
Severity:
Important
Release date:
2026-10-09 11:30:24 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.el9.x86_64.rpm
    sha:b8f450899c4bfb50622d5f78e751bad551a2c5defa4cdf11d0c85dca089503b5
  • alt-php71-bcmath-7.1.33-113.el9.x86_64.rpm
    sha:2688883a0e9ab503996634d3c74fade24d95cbedeb0d4371d8dbbbcc15fbbc60
  • alt-php71-cli-7.1.33-113.el9.x86_64.rpm
    sha:27b6ea627a72f23c6a82769e90a6fdce62adf0c2fcb3058bd22dfd7e28e80c55
  • alt-php71-common-7.1.33-113.el9.x86_64.rpm
    sha:2be3ed9f468cb73e54a25265552080162c4d5bcd678438f8530efad6a28fe205
  • alt-php71-dba-7.1.33-113.el9.x86_64.rpm
    sha:1d854f8663956b54fed8fa20b4fe2f2d4662abb6c928543d3895ef9c262e7486
  • alt-php71-devel-7.1.33-113.el9.x86_64.rpm
    sha:cbc8f138f6d7a59758210e1afdead7e699977b41a8f8df2fb4db971727098ec3
  • alt-php71-enchant-7.1.33-113.el9.x86_64.rpm
    sha:699eda7f0c4d65342fc73b7e38e537b55d979e80a19439184b2a967a5a08249a
  • alt-php71-firebird-7.1.33-113.el9.x86_64.rpm
    sha:3b23f84622315e371869af158891aedf02362bdca722aa638a028c68073f17e4
  • alt-php71-gd-7.1.33-113.el9.x86_64.rpm
    sha:17064c862a3c68af976a37018059b0f4108e1f5efce2a2ecc956fe863b89a79e
  • alt-php71-imap-7.1.33-113.el9.x86_64.rpm
    sha:38d9c3371a989568f9b5e57f597c0381898e8666a0816c733ca13cc7fa20b92f
  • alt-php71-intl-7.1.33-113.el9.x86_64.rpm
    sha:fdc8b5db8ebd63b6111cac6f004097d06f089c7fab062f6f9cb7027326a07224
  • alt-php71-ldap-7.1.33-113.el9.x86_64.rpm
    sha:3964fa2166ddc101a4778df40b3f834a6ffa5624cf09dbaab737c0fd7b5062e5
  • alt-php71-mbstring-7.1.33-113.el9.x86_64.rpm
    sha:e725885a4f9d73e4124e8c25adf8eff2fb671d86061c411ef91d149811df4083
  • alt-php71-mcrypt-7.1.33-113.el9.x86_64.rpm
    sha:b6010ac7b42d36009ea61ffe4a341d2b716e434442a17e27997edcfaaec6060c
  • alt-php71-mysqlnd-7.1.33-113.el9.x86_64.rpm
    sha:bd1ba13e5157fd0bceb06c373a76b432678490923b68b18512ff4e4c4a18f461
  • alt-php71-odbc-7.1.33-113.el9.x86_64.rpm
    sha:ea16afda51254ee99f52f17021c2b3211f87292adcbccbb3d365385ca9c94359
  • alt-php71-opcache-7.1.33-113.el9.x86_64.rpm
    sha:89f2ef0624dba66a346f9c8195ab27b79c0e64beb3a101097bf616e00a360122
  • alt-php71-pdo-7.1.33-113.el9.x86_64.rpm
    sha:7d4602bb9635dd3eca95c94a12774eeba31141071031377dae8290c588ad8dc5
  • alt-php71-pgsql-7.1.33-113.el9.x86_64.rpm
    sha:04be5e3ba10f532fdb324d8ff642a706d652930e4024c6c2c92098c514d19e0e
  • alt-php71-php-fpm-7.1.33-113.el9.x86_64.rpm
    sha:9d205c77cf5f087e85e316b4fc07a630437d8199e605783b9d3564144d18824f
  • alt-php71-process-7.1.33-113.el9.x86_64.rpm
    sha:9870d4ce4a3d37ea37cdf06a84cb66e1004e484eb6b0f5763b9acfe6e0c4042a
  • alt-php71-pspell-7.1.33-113.el9.x86_64.rpm
    sha:a24330728f6790e3216f3a68da79fdacff0a1f940052b4a185c6700f5592e52a
  • alt-php71-recode-7.1.33-113.el9.x86_64.rpm
    sha:876e0f067d0646decb01a83c4fe66708aa933d9f1c70999b82436512389ad0cd
  • alt-php71-snmp-7.1.33-113.el9.x86_64.rpm
    sha:835e6caaf2301149bef17867f5c9c4c54c1bd79ef42513f91d094f5eb214d08b
  • alt-php71-soap-7.1.33-113.el9.x86_64.rpm
    sha:9e538514ec0770f952f72a23f1640592279d082546a766e93ab05ddfcd25beba
  • alt-php71-tidy-7.1.33-113.el9.x86_64.rpm
    sha:9b3fb62ff8294c944a1b0bc3dfc9884f64d4cd05e23d3e68bcd61ff4e5373826
  • alt-php71-xml-7.1.33-113.el9.x86_64.rpm
    sha:b8dfa874eb2da660f82c2497a5c120439b6e0b7768fbe917443fa6850786466f
  • alt-php71-xmlrpc-7.1.33-113.el9.x86_64.rpm
    sha:014b3efec632d0da97761950c75d7fad561324c88ad4acd2cb9dd2a51d8912ee
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.