Software 44903 Published by

PHP shipped five coordinated releases on 22 September 2026, spanning every actively supported line plus the first candidate for the next major version. The headline is 8.6.0 RC1 from Matteo Beccati, a feature-frozen preview not meant for production. The other four are practical: 8.5.11 and 8.4.26 bundle bug fixes and security patches, while 8.3.35 and 8.2.34 are security-only updates. This cycle fixes a wide range of vulnerabilities, including a FastCGI ACL bypass, OpenSSL hostname-downgrade flaws, and a cross-origin credential leak, so running 8.2 through 8.5 should probably be on your list this week.





PHP Ships Five Versions in a Single Release Day, with 8.6.0 RC1 as the Headline

A coordinated wave of point releases landed across every supported version line, anchored by the first candidate for the next major release.

PHP doesn't make much of a fuss about these things, but 22 September 2026 was one of the rarer release days. The PHP Group published five separate versions of its scripting language in one cycle. That spans the cutting-edge preview, the current stable line, and two older versions still getting maintenance.

Screenshot_from_2026_06_30_15_03_26

It's the kind of synchronized release day that is routine inside the project and nearly invisible outside it. Shipping five versions of a language on one afternoon sounds ambitious. In practice it just means the schedule held.

Keep in mind that PHP (the name, for those who haven't lived through it, now recursively stands for "PHP: Hypertext Preprocessor") powers roughly a third of websites on the internet. Keeping this many old codebases from rotting is admittedly important work, even if the project rarely hypes it.

PHP 8.6.0 RC1: the next major version gets its first candidate

The main event is PHP 8.6.0 RC1, tagged by release manager Matteo Beccati. It closes a cycle that opened with Alpha 1 on 2 July 2026 and ran through Beta 3 a few weeks later on 10 September. RC1 was always the planned next milestone, so nothing here is a surprise for anyone watching the calendar.

An RC is essentially the team saying the features are locked in and the real job is finding crashes. It is not for production. PHP asks developers to test their applications against it and file reports on GitHub. If something breaks badly, more RCs can follow before a final 8.6.0 ships, which is expected around November 2026.

Reading the release notes from Alpha 1 through RC1, the 8.6 feature set is a decent-sized pile. Highlights include:

  • Partial function application, a new RFC that lets you pre-fill arguments of a function and get a fresh callable back.
  • clamp(), a built-in for keeping a value inside a range.
  • A first-class callable cache and a stateless closure cache to reuse prepared call structures within a request.
  • readonly properties that can finally declare default values.
  • Time\Duration in the Date extension for representing spans of time.
  • A new polling API (Io\Poll) plus an expanded streams error API (StreamException, StreamError, and friends).

The extension additions are where the detail really stacks up: chunked PostgreSQL fetching (Pdo\Pgsql::ATTR_CHUNK_SIZE), libsodium 1.0.22 support for X-Wing and ML-KEM768, tighter SNMP control, and </> endianness modifiers in pack() and unpack().

Just as big is what 8.6 drops. The deprecation list is long enough to make some codebases nervous: passing objects where functions like array_walk() expect arrays, the legacy is_double/is_long/doubleval type-cast helpers, metaphone(), and using "namespace" as a class constant name, among others. These give you advance notice before they potentially become breaking changes down the line.

Even in an RC, the branch absorbed memory-safety fixes across Core, DOM, Intl, Opcache, PDO, Phar, Sockets, SOAP, and Zlib. We're talking use-after-free errors and out-of-bounds reads during UTF-16/32 encoding detection, plus some assertion failures that OSS-Fuzz turned up.

The point releases: where most people should actually be looking

If 8.6 RC1 is for tasters, the other four are for everyone else.

PHP 8.5.11 (Volker Dusch) and PHP 8.4.26 (Saki Takamachi) are combined bug-fix and security releases. PHP nudges all 8.5 and 8.4 users to upgrade. Beyond the shared security patches, 8.5.11 fixes things like a FPM UID and GID overflow, an Opcache protect_memory race under ZTS builds, and a tracing-JIT crash for uncacheable methods.

8.4.26 brings its own batch: a buffer overflow fix in hash_pbkdf2() when a large output length is requested, a speed fix for a sluggish imagebmp(), plus crash and segfault corrections in SNMP and SOAP and some robustness work for ZipArchive.

The other two are pure security releases. PHP 8.3.35 (Jakub Zelenka) and PHP 8.2.34 (Pierrick Charron) carry the same family of advisory fixes, since both lines sit in the security-only tail of their lifecycles. 8.2 shipped in November 2022 and has no feature work left in it. That's the whole point of the lifecycle model: bug-fix support for about two years, then security-only for about one more, then end of life.

A quick aside on dates. The git tags in the php/php-src repository were all created on 22 September 2026, which is when these builds actually became available. The NEWS files in each tag carry a header date of 24 September, matching the project's planned announcement schedule. Same builds, two dates. Worth knowing if you're cross-checking.

The CVEs fixed this cycle

The 8.3.35 and 8.2.34 entries spell out the advisories most completely. Those same fixes were backported into 8.4.26 and 8.5.11, so the security side of this wave is broad.

CVEComponentWhat broke
CVE-2026-91768FPMIPv6 ACL bypass in listen.allowed_clients from partial address comparison
CVE-2025-1218MySQLndPacket overreads in the mysqlnd wire protocol
CVE-2026-91769OpenSSLTLS hostname verification falls back to CN after a SAN mismatch
CVE-2026-91767OpenSSLHeap buffer overflow in wildcard CN matching
CVE-2026-6103PharInteger overflow in TAR parsing allowing entry injection
CVE-2026-91765SOAPUnbounded recursion in server-side XML cleanup
CVE-2025-14181SOAPInteger overflow leading to buffer overflow in HTTP parsing
CVE-2026-93682HTTP stream wrapperOut-of-bounds read on a redirect with an empty Location header
CVE-2026-92842convert.* filtersOut-of-bounds read when line-break-chars contains a NUL
CVE-2026-91766HTTP stream wrapperCross-origin credential leak in redirects (GHSA-fpwc-w8rq-cr92)
CVE-2026-17545WindowsReserved device names not blocked before file and stream I/O

A couple of advisories got fixed without a public CVE number shown, including a FILTER_SANITIZE_ENCODED issue (GHSA-ch8v-r6jh-4vvr) on the 8.2 and 8.3 lines and the hash_pbkdf2() overflow on 8.4. Most of the security work was done by Jakub Zelenka, Ilia Alshanetsky, Alexandre Daubois, Nora Dossche, and Jordi Kroon.

The FastCGI ACL bypass, the OpenSSL hostname-downgrade bug, and the cross-origin credential leak are probably the ones worth your attention first. They're all the kind of thing that only bites you if you expose PHP directly to the network, but they're exactly the category that turns a routine Tuesday into an incident report.

What to do about it

If you're running 8.2 or 8.3, treat 8.2.34 and 8.3.35 as a priority. Same for 8.4 and 8.5 users with 8.4.26 and 8.5.11 — you get the security fixes plus whatever accompanying bug fixes landed.

If you're testing ahead of the curve, 8.6.0 RC1 is available as source and Windows QA builds on the PHP pre-release pages. It's not for production, so keep it in a staging slot and file any regressions on GitHub. The whole cycle stays free software under the PHP License, with tarballs and binaries on the official download pages.

Release php-8.2.34 · php/php-src

Tag for php-8.2.34

Release php-8.2.34 · php/php-src

Release php-8.3.35 · php/php-src

Tag for php-8.3.35

Release php-8.3.35 · php/php-src

Release php-8.4.26 · php/php-src

Tag for php-8.4.26

Release php-8.4.26 · php/php-src

Release php-8.5.11 · php/php-src

Tag for php-8.5.11

Release php-8.5.11 · php/php-src

Release php-8.6.0RC1 · php/php-src

Tag for php-8.6.0RC1

Release php-8.6.0RC1 · php/php-src