Skip to content

fix(security): require PHP 8.5.12 for CVE-2026-109618 / CVE-2026-109619 - #74

Merged
Rushaway merged 1 commit into
mainfrom
fix/php-cve-2026-109618
Oct 21, 2026
Merged

Rushaway merged 1 commit into
mainfrom
fix/php-cve-2026-109618

Conversation

@Rushaway

Copy link
Copy Markdown
Member

Summary

PHP published an urgent advisory today (php.net, 2026-10-21): CVE-2026-109618 and CVE-2026-109619, two critical unauthenticated remote code execution bugs fixed in PHP 8.5.12. The risk is highest under mod_php, which is exactly what our production image runs (php:8.5-apache).

This PR makes sure we never ship a vulnerable runtime and adds the advisory's mitigations.

  • docker/Dockerfile.prod: the runtime stage fails the build when PHP is below PHP_MIN_VERSION (default 8.5.12). The php:8.5-apache tag floats, so without this a stale cache or lagging mirror would silently publish an unpatched image.
  • docker-image.yml: pull: true on build-push-action so buildx always re-resolves the base image.
  • docker/php/prod-php.ini: session.upload_progress.enabled = 0 and fatal_error_backtraces = 0, the advisory's mitigations for the CVE-2026-109619 attack paths. The panel uses neither feature. They must live in the ini (not ini_set()), which is why they are here.
  • Install wizard (System check): warns below 8.5.12. A warning, not an error, because distros may backport the fix to an older version string.
  • Docs: prerequisites + Docker upgrade section, AGENTS.md row.
  • CHANGELOG 2.1.23-srcdslab.

Heads-up

As of this PR, Docker Hub's php:8.5-apache still resolves to 8.5.11. Until the official image is rebuilt, the :main image build will fail on purpose at the floor check instead of publishing a vulnerable image. Re-run the workflow once Docker Hub ships 8.5.12.

Anyone running the panel on a tarball install should upgrade the host PHP now (or apply the vendor's backport).

Test plan

  • Floor check against the current php:8.5-apache (8.5.11): fails with floor 8.5.12, passes with floor 8.5.0
  • prod-php.ini loaded in the base image: both directives read 0
  • php -l + PHPStan on install/pages/page.3.php: no errors
  • docker-image.yml green once Docker Hub publishes 8.5.12

@cmer81 @maxijabase: security fix, please review when you can.

🤖 Generated with Claude Code

PHP 8.5.12 fixes two critical unauthenticated RCE bugs (OOM corruption
and stale global state). The production image runs mod_php, the
deployment the PHP security team rates highest risk.

- Dockerfile.prod: fail the build when the floating php:8.5-apache base
  is below 8.5.12 (PHP_MIN_VERSION build arg), so a stale cache or
  lagging mirror can't publish a vulnerable runtime.
- docker-image.yml: pull: true so buildx always re-resolves the base.
- prod-php.ini: session.upload_progress.enabled=0 and
  fatal_error_backtraces=0, the advisory's mitigations for the
  CVE-2026-109619 paths. The panel uses neither.
- Install wizard: warn (not block) below 8.5.12, since distros may
  backport the fix.
- Docs: prerequisites + Docker upgrade notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Rushaway
Rushaway requested review from cmer81 and maxijabase October 21, 2026 14:02
@Rushaway
Rushaway merged commit fbcdafa into main Oct 21, 2026
5 checks passed
@Rushaway
Rushaway deleted the fix/php-cve-2026-109618 branch October 21, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant