Skip to content

fix: fail supported PHP image builds below the Oct 2026 security release - #255

Open
AaronFeledy wants to merge 2 commits into
mainfrom
fix/php-cve-2026-10
Open

AaronFeledy wants to merge 2 commits into
mainfrom
fix/php-cve-2026-10

Conversation

@AaronFeledy

@AaronFeledy AaronFeledy commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Summary

Supported devwithlando/php images (8.2, 8.3, 8.4, 8.5, apache and fpm) refuse to build unless PHP_VERSION is at least the 21 Oct 2026 security release:

  • 8.5.12
  • 8.4.27
  • 8.3.36
  • 8.2.35

Those floors are CVE-2026-109618 and CVE-2026-109619. The check is a RUN immediately after the final FROM, so a stale base fails the build before build-push-action pushes. pull: true is there so BuildKit resolves the official tag from the registry. Tags stay at -7. No plugin release. EOL images (8.1 and older) are unchanged and are not patched by this.

Merging to main rebuilds and publishes the production tags. This PR only publishes -edge tags. Do not treat a green EOL job as a fix. After the main build, confirm the eight -7 Hub digests moved and php -v on amd64 and arm64 meets the floor. Users pick the new image up with lando rebuild, not lando start.

Test plan

  • The eight supported jobs fail closed if the base is older than the floor
  • After merge, Hub digests for 8.2/8.3/8.4/8.5 apache and fpm -7 differ from the 2026-06-24 publishes
  • php -v on both platforms meets the floor
  • EOL jobs are not described as patched

Note

Medium Risk
Changes the supported image publish path to hard-fail on stale upstream PHP bases; misconfigured floors or upstream lag could block releases until bases meet the CVE patch levels.

Overview
Adds fail-closed minimum PHP version gates for supported 8.2–8.5 Apache and FPM image builds so CI cannot publish images built from official bases below the Oct 2026 security releases (8.5.12, 8.4.27, 8.3.36, 8.2.35).

Each affected Dockerfile now accepts optional MIN_PHP and runs an early dpkg --compare-versions check on $PHP_VERSION right after the final FROM, aborting the build before push if the base is too old. The build workflow passes per-matrix min_php via build-args, enables pull: true so BuildKit refreshes upstream tags, and documents the change in the changelog. EOL 8.1 and older matrix entries are unchanged (no floor enforced).

Reviewed by Cursor Bugbot for commit e059d89. Bugbot is set up for automated code reviews on this repo. Configure here.

8.2-8.5 images now refuse to build unless PHP_VERSION is at least
8.2.35, 8.3.36, 8.4.27, or 8.5.12. Tags stay at -7 so existing installs
pick the patched image up on lando rebuild. EOL images are unchanged.
@netlify

netlify Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for lando-php ready!

Name Link
🔨 Latest commit e059d89
🔍 Latest deploy log https://app.netlify.com/projects/lando-php/deploys/6ada8c492bdc8d8f12f086c0
😎 Deploy Preview https://deploy-preview-255--lando-php.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 81 (🔴 down 9 from production)
Accessibility: 98 (no change from production)
Best Practices: 100 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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