[CLSA-2026:1786362088] Fix CVE(s): CVE-2026-17543, CVE-2026-7260, CVE-2026-9672
Type:
security
Severity:
Critical
Release date:
2026-08-10 11:41:40 UTC
Description:
* SECURITY UPDATE: three defects in the GIF LZW decoder of the bundled libgd - debian/patches/php-5.6-CVE-2026-9672.patch: backport upstream commit fcd691b377d0 (libgd patch by Pierre Joye) in ext/gd/libgd/gd_gif_in.c. The prefix/suffix table reset in LWZReadByte_() cleared table[1][0] repeatedly instead of table[1][i], so table[1] was only initialised up to clear_code and the entries above it kept indeterminate stack contents; the LZW end_code branch fell through and kept decoding with a stale code when the trailing data blocks drained cleanly, which is what lets those bytes reach output pixels; and ReadImage() left its LZW_STATIC_DATA scratch struct uninitialised. All three are reachable from attacker-controlled GIF data via imagecreatefromgif(). - Note: byte-identical to upstream, only the context line numbers differ. - CVE-2026-9672 * SECURITY UPDATE: SQL injection in ext/pgsql via E'...' backslash breakout - debian/patches/php-5.6-CVE-2026-17543.patch: backport upstream commit ab048bd83b57 (GHSA-7qpv-r5mr-78m4) in ext/pgsql/pgsql.c. php_pgsql_add_quotes() wrapped a PQescapeStringConn()-escaped value in an E'...' literal, where a backslash is an escape character, but PQescapeStringConn() only doubles backslashes when the connection has standard_conforming_strings off. A value such as "zzz\' OR 1=1 --" therefore escaped the doubled quote and broke out of the literal, letting pg_convert(), pg_insert(), pg_update(), pg_delete() and pg_select() inject arbitrary SQL. Emit a plain '...' literal instead, which is what PQescapeStringConn() is documented to be used with. - Note: 5.6 builds the literal with smart_str rather than upstream's zend_string_concat3(), so the fix drops the smart_str_appendc(&str, 'E') call. The pg_convert()/pg_insert()/pg_update() expectations are updated for the dropped E prefix, including the 5.6-era non-"_9" duplicates upstream no longer ships, and a 5.6-compatible replacement for the upstream regression test is added. - CVE-2026-17543 * SECURITY UPDATE: phar stack exhaustion on a circular symlink chain - debian/patches/php-5.6-CVE-2026-7260.patch: backport upstream commit 2e0fa0a44441 (GHSA-vc5h-9ppw-p5f3) in ext/phar/util.c. phar_get_link_source() resolved a symlink by tail-calling itself with no cycle detection, so a tar-based archive whose symlinks form a loop exhausted the stack and crashed the process on open or read. A new static phar_follow_one_link() now performs a single hop and phar_get_link_source() walks the chain iteratively with Floyd tortoise-and-hare cycle detection, returning NULL on a cycle. - Note: kept on the 5.6 zend_hash_find()/TSRMLS API instead of upstream's zend_hash_str_find_ptr(). Upstream follow-up 56b8d1040d83 is not included because phar_get_link_location() can still return entry->link itself here, so the "if (link != entry->link)" efree guard is required. - Note: also restores the path separator in phar_get_link_location() ("*p = '/'"), without which the Floyd walk's second visit to an entry resolves a truncated prefix, both manifest lookups miss, and the slow cursor is dereferenced as NULL - crashing on *valid* nested archives. Upstream carries the same defect but its fixtures use flat entry names and never reach that branch. - Note: the .phpt from 2e0fa0a is not backported - it ships three binary tar fixtures, which a 3.0 (quilt) source package cannot carry. Instead this adds ext/phar/tests/tar/gh21986.phpt from b2de3cf170, the earlier public fix for the same defect, which builds the circular-symlink tar programmatically in pure PHP; only its --EXTENSIONS-- header is changed to the 5.6-equivalent --SKIPIF--. It fails (SIGSEGV) on an unpatched 5.6.40 build and passes on a patched one. Also verified with a standalone ASan/UBSan harness over the patched functions (13 cases: cycles resolve to NULL, acyclic and nested relative chains still resolve, zero allocation balance). - CVE-2026-7260
Updated packages:
  • alt-php56_5.6.40-138_amd64.deb
    sha:271e946499ee3f7a681822b5b3b4a5ec6750c403
  • alt-php56-bcmath_5.6.40-138_amd64.deb
    sha:3c63ee54356a51d0c6fb825dc8e4b8bf9b18c8bb
  • alt-php56-cli_5.6.40-138_amd64.deb
    sha:3d47af1f1657506461580c055eaf320097f95c36
  • alt-php56-common_5.6.40-138_amd64.deb
    sha:92a3a65ece99550c406201c0eaa89663229b15b9
  • alt-php56-dba_5.6.40-138_amd64.deb
    sha:de2ee0709440a31ee7281764754ded927d272f4e
  • alt-php56-dbx_5.6.40-138_amd64.deb
    sha:b48aa3615c24acad8c03af49fd9a82bde4fe83f9
  • alt-php56-dev_5.6.40-138_amd64.deb
    sha:62d6cd72c74574cc2eaf469a8e9c769e92488d96
  • alt-php56-enchant_5.6.40-138_amd64.deb
    sha:034772ce92f1a81ba9e975f487751b481fbb07b3
  • alt-php56-firebird_5.6.40-138_amd64.deb
    sha:cc5a1f6676222be3dd90242baded2f864b10d4d4
  • alt-php56-gd_5.6.40-138_amd64.deb
    sha:8389d77b718f32356a9d1ae425f2e6af6aba931a
  • alt-php56-imap_5.6.40-138_amd64.deb
    sha:7f7c1b77b61cc93bb4ff61e9baec2c7daacf7ccd
  • alt-php56-intl_5.6.40-138_amd64.deb
    sha:6434e8ea1c0c57f5008af329b6bdc4de89eff232
  • alt-php56-ldap_5.6.40-138_amd64.deb
    sha:40e2aa477a844c4b58851e31502b2938f7b4017f
  • alt-php56-mbstring_5.6.40-138_amd64.deb
    sha:e3631388d95e3481159de52ed1d1ccfb5b22bc12
  • alt-php56-mcrypt_5.6.40-138_amd64.deb
    sha:eb68c27c301a1ed2911f55364f750aecc66518aa
  • alt-php56-mysqlnd_5.6.40-138_amd64.deb
    sha:2cda6425ce770b3c138fda333580e03a55c176eb
  • alt-php56-odbc_5.6.40-138_amd64.deb
    sha:9986389482d5421dd71ff53313e2df794304a471
  • alt-php56-opcache_5.6.40-138_amd64.deb
    sha:c0cc213da989d8fcd20004ad87dc5ce51fe5a76c
  • alt-php56-pdo_5.6.40-138_amd64.deb
    sha:8bd3e709ba96552cd5226e04356ba4286b7c6a57
  • alt-php56-pgsql_5.6.40-138_amd64.deb
    sha:4d4564072a3663b29309fee82f1ff61283391a90
  • alt-php56-php-fpm_5.6.40-138_amd64.deb
    sha:c9c06fbad5b2629cc77e2221185445ca3bd2ff8e
  • alt-php56-process_5.6.40-138_amd64.deb
    sha:34bda600aa578c114361f4b1cdc80f24215f0af2
  • alt-php56-pspell_5.6.40-138_amd64.deb
    sha:fc53b1154289a9b9ef1e5ea368d51d43d352ce2b
  • alt-php56-recode_5.6.40-138_amd64.deb
    sha:1fdd67b91daa23fdc74731a541cc1097c0e802eb
  • alt-php56-snmp_5.6.40-138_amd64.deb
    sha:be1bd033d7a85a3882b8122aae0061ef439d57f5
  • alt-php56-soap_5.6.40-138_amd64.deb
    sha:21af611ae0231c5ab2d945f67fb0460fb70c045d
  • alt-php56-sybase_5.6.40-138_amd64.deb
    sha:01a45d5b2f40b39f39b1d7f4c5dfc8a41e5ce8f2
  • alt-php56-tidy_5.6.40-138_amd64.deb
    sha:abe67c8c7d22688eafdcb2a43ac3f0704545f88a
  • alt-php56-xml_5.6.40-138_amd64.deb
    sha:3cae4005c0ceadbb5308adca2ffc7c915463dbbd
  • alt-php56-xmlrpc_5.6.40-138_amd64.deb
    sha:d1cf0198f8039de0c681831d8030ecfc07d36e2a
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.