aurupdater

php74

Build times (auto-updated)


Category: adapted (moved from local-install/ 2026-10-21, see below — was previously “rebuilt only so archlinuxaba/the cluster gets it too; not maintained/adapted/owned by us”). Split package (dozens of subpackages: php74-cli, php74-fpm, php74-gd, etc.) generated by the upstream arch-phpbs tool. Needed by php74-apcu and owncloud.

ARM coverage added (2026-10-22)

Added armv7h/aarch64 to arch=() (now ('x86_64' 'i686' 'pentium4' 'armv7h' 'aarch64')), pkgrel 11.2 -> 11.3. Patch is portable: checked the one SIMD-looking hunk in the CVE patch (zend_types.h’s HT_HASH_RESET) and confirmed it’s entirely inside the pre-existing #ifdef __SSE2__ branch – ARM uses the untouched generic fallback at line ~346, so the patch is a no-op there, not a portability risk.

Board-lock collision hit once: launched php74’s ARM build while php85’s was still running on the same two boards (eurobuild5/14) – failed closed exactly as designed (ERROR: eurobuild5 is already building something else), no corruption. Force-killed the blocked php74 attempt (bottom-up SIGTERM through the ssh/oksh chain) to retry sooner rather than wait out php85’s run; had to manually clear both the local .building.lock (trap didn’t fire cleanly under the kill) and eurobuild5’s remote lock (ssh eurobuild5 rm -rf /data/INSTALL/.building.lock) before relaunching – confirms remote_build_lock’s documented no-auto-expire behavior.

New test failure on armv7h only, NOT seen on x86_64/i686/aarch64: Zend/tests/concat_003.phpt (“Concatenating many small strings should not slowdown allocations”) – a hardcoded wall-clock perf test (220,000 string concats must finish in under $t_max = 1.0 seconds). Confirmed by reading the test file directly: pure CPU-speed timing threshold, nothing to do with the CVE patch or correctness – armv7h is just slow enough to blow a 1-second budget tuned for x86 hardware. Not a regression, not patch-related; aarch64 (faster ARM board) didn’t hit it. Only [[php74]]’s existing bug45392 duplicate-error-message cosmetic regression (see CVE section below) was common to all four arches. Per the user: test failures don’t block publishing (matches the existing x86_64/i686 precedent – repo_build.sh’s make test failure doesn’t abort packaging).

CVE-2026-109618 / CVE-2026-109619 backport (2026-10-21)

PHP disclosed and patched two critical (CVSS 9.2) unauthenticated RCE flaws today, nicknamed “php2shell”: memory-exhaustion-triggered state corruption during a bailout (109618) and a related use-after-free of request-owned global state surviving into the next request on the same worker (109619). Root cause is in multipart/file-upload handling (main/rfc1867.c) interacting with Zend’s bailout/cleanup path. Official fixes shipped in PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 same day; the PHP project explicitly will not patch 8.1 or earlier (EOL).

7.4 (our version, 7.4.33) is affected too – confirmed via HeroDevs’ vulnerability directory, which lists 7.4/8.0/8.1 explicitly. Found an actual upstream-authored backport: php/php-src branch PHP-7.4-CVE-2026-109618-109619, a single commit (712e60f, “Avoid state corruption via bailout – Minimal mitigation for EOL version”) by Zend-engine core devs arnaud-lb and iluuu1994, branched exactly off our 7.4.33 base. 17 files, ~240/-59 lines (Zend/zend_alloc.c, zend_vm_execute.h, zend_hash.c, main/rfc1867.c, php_variables.c, SAPI.c, etc.).

Build notes (2026-08-19)