[CLSA-2026:1786443577] Fix CVE(s): CVE-2026-17543, CVE-2026-7260, CVE-2026-9672
Type:
security
Severity:
Critical
Release date:
2026-08-11 10:19:49 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:a69ae390320f74147e78fe4f584024e00fb4d668
  • alt-php56-cli_5.6.40-138_amd64.deb
    sha:26e38b27e266fbfcc9faafba083cefdbc614f58a
  • alt-php56-common_5.6.40-138_amd64.deb
    sha:cc5064d11f7f77eedcb23c367980b1f7db59c280
  • alt-php56-dba_5.6.40-138_amd64.deb
    sha:59326e9a16d5ba7b8c59aa378018843c0e954dfa
  • alt-php56-dbx_5.6.40-138_amd64.deb
    sha:d7a48316bcb4a1c3f21c5cc47bb5f3ca2f6efe46
  • alt-php56-dev_5.6.40-138_amd64.deb
    sha:e9cd2f588d6289a4ca38b73438eefff480e7de5e
  • alt-php56-enchant_5.6.40-138_amd64.deb
    sha:4b2145a93c9f72ad685681a6686d7b087a5ecb29
  • alt-php56-firebird_5.6.40-138_amd64.deb
    sha:24a689c16728575bae7d6fa7fa9edb5804bfe111
  • alt-php56-gd_5.6.40-138_amd64.deb
    sha:8d288ff668b4ada1be0f9857c70b6ff6f77fbec0
  • alt-php56-imap_5.6.40-138_amd64.deb
    sha:489602113d34e0325294bc692bc5b72f95b7f3ee
  • alt-php56-intl_5.6.40-138_amd64.deb
    sha:a036e8d0bd8574917ce3044f32e9d3eff78417cc
  • alt-php56-ldap_5.6.40-138_amd64.deb
    sha:fc60651e4a3d22e2d0aabf82af0a551f92198adc
  • alt-php56-mbstring_5.6.40-138_amd64.deb
    sha:155966187ec8bd99466b920289892159c52debf6
  • alt-php56-mcrypt_5.6.40-138_amd64.deb
    sha:ec8042defd7bc3e76baeae6c044e3c2b4225c7b6
  • alt-php56-mysqlnd_5.6.40-138_amd64.deb
    sha:5ebb7cf5da2f1bebeb9208159a3e0e6565027263
  • alt-php56-odbc_5.6.40-138_amd64.deb
    sha:246197b972f328515fa4df211c4e41f87b00aa15
  • alt-php56-opcache_5.6.40-138_amd64.deb
    sha:2703f6dd738198370527f6439f6ac48ee55dbfe6
  • alt-php56-pdo_5.6.40-138_amd64.deb
    sha:751ada692c7745cadcac46d02ba133bb2e898470
  • alt-php56-pgsql_5.6.40-138_amd64.deb
    sha:1f42ad8c2aafa878827f125c81918acc6b2e750b
  • alt-php56-php-fpm_5.6.40-138_amd64.deb
    sha:6cbab1ac92de915b757b766e2fff0942f0408628
  • alt-php56-process_5.6.40-138_amd64.deb
    sha:dde1b4e954f99b4f56608bbbf8f0e888da037f87
  • alt-php56-pspell_5.6.40-138_amd64.deb
    sha:9fbbbd06adb21426e795e2da92548510b8eb8f38
  • alt-php56-recode_5.6.40-138_amd64.deb
    sha:5c49d60c26df527e602684ad56dbf8dad468e63a
  • alt-php56-snmp_5.6.40-138_amd64.deb
    sha:2c7269857fb3205c6f5b0d78f7c49e7a300ad5a7
  • alt-php56-soap_5.6.40-138_amd64.deb
    sha:90ccf2205f55f1ad2d9f0826707b8e62db1199c2
  • alt-php56-sybase_5.6.40-138_amd64.deb
    sha:85caf0697efc33f1ff6f35c9d079f420c84bdea5
  • alt-php56-tidy_5.6.40-138_amd64.deb
    sha:99ad8316e5345bc4015cba3f534f6526a5e2c046
  • alt-php56-xml_5.6.40-138_amd64.deb
    sha:8d23a96634a8451213722007300b85d2dceaaec6
  • alt-php56-xmlrpc_5.6.40-138_amd64.deb
    sha:e3c0dab55c5ed7e4af825e0fa0b4f616b0f6d96d
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.