PHP 8.2 is fixed upstream in 8.2.35. Anything on the 8.2 branch below that point release is in the vulnerable upstream range. Security support for the whole branch ends on 31 December 2026, and the 8.2.35 announcement says to plan a newer branch because there will be no further security fixes after that date.

Lifecycle

PHP 8.2 has security support until 31 December 2026. The reference point from php.net is 8.2.35 is the fix. End-of-life status and a vendor backport are different facts. A branch can be unsupported by the PHP project and still have a distribution build that includes these two fixes.

What is confirmed about exposure

The defects are in the PHP runtime, so a PHP 8.2 process that serves HTTP is in the population PHP told users to update. mod_php is the highest-risk integration. PHP-FPM is not excluded. An application update does not change this runtime.

Upstream options

Install the fixed upstream release named above, from php.net or the Windows builds linked from the release announcement.

Vendor packages

Debian 12 bookworm lists php8.2 fixed in 8.2.35-1deb12u1 and the previous 8.2.32-1deb12u1 build as vulnerable. AlmaLinux lists 8.2 module builds that keep an 8.2.33-looking upstream version: php-8.2.33-1.module_el8.10.0+4320+c30d6dbb.alma.1 on AlmaLinux 8 and php-8.2.33-1.module_el9.8.0+327+37dfd4b4.alma.1 on AlmaLinux 9. Use the package version AlmaLinux published, not a guess that 8.2.33 equals 8.2.35.

Nginx, Apache, and PHP-FPM

Nginx and Apache only route the request. On PHP 8.2, identify whether the vhost uses PHP-FPM, mod_php, or CGI. mod_php remains the highest-risk SAPI in PHP’s advisory regardless of how old the branch is. PHP-FPM on 8.2 is still in scope for CVE-2026-109619’s session path. Restart the daemon that loaded this branch after any package change. A host with PHP 8.2 and a newer PHP side by side is only fixed for the vhost you actually updated.

Remediation paths

Upstream and Windows builds should move to 8.2.35 or newer. Debian 12 should install the security update. AlmaLinux should install the module build and verify it with rpm -q. Also schedule the later move off 8.2 before 31 December 2026.

Temporary settings from the PHP advisory remain available and remain incomplete. See the mitigations page.

Production precautions

Snapshot or otherwise preserve the current packages before you change a production PHP 8.2 host. Expect a restart of php-fpm or Apache to drop active requests. If an extension fails to load, roll back and treat that as a compatibility problem, not as a reason to skip the CVE.

Validation

Query the binary the vhost uses after the restart. On backport-style packages, compare the package version rather than waiting for php -v to print a new upstream number. Check one authenticated and one anonymous application route you already know how to judge.

When to involve a specialist

Involve a specialist when PHP 8.2 is tied to a custom extension, a control-panel build, or a release process that cannot take the upstream tag directly. That is the normal case for this branch, not an edge case.

Questions

Is the last upstream PHP 8.2 release a PHP2Shell fix?

PHP 8.2 is fixed upstream in 8.2.35. Anything on the 8.2 branch below that point release is in the vulnerable upstream range. Security support for the whole branch ends on 31 December 2026, and the 8.2.35 announcement says to plan a newer branch because there will be no further security fixes after that date.

Can you help if we cannot upgrade this week?

Yes. The engagement can cover a vendor package check, exposure reduction, or a migration plan. It will not pretend a missing patch exists.

Sources checked