ConicPlex

Start Your Project

A server unit being connected to a network switch in a violet-lit server room, with an access badge and a small elephant charm on the workbench, evoking PHP security patches

On this Page

PHP Patches a FastCGI ACL Bypass and TLS Verification Flaw in Every Supported Branch (CVE-2026-91768, CVE-2026-91769)

PHP 8.5.11, 8.4.26, 8.3.35, and 8.2.34 patch a FastCGI IPv6 ACL bypass and a TLS hostname verification flaw, plus eight more CVEs, across every supported branch.

Sajil Memon

September 26, 2026

PHP shipped four coordinated releases on September 24, 2026: 8.5.11, 8.4.26, 8.3.35, and 8.2.34, covering every actively supported branch of the language. Together they close ten CVEs, including an IPv6 ACL bypass in PHP-FPM’s FastCGI listener and a TLS hostname verification bug that quietly falls back to a weaker check after the proper one fails. If PHP runs anywhere in your stack, a WordPress install, a custom backend, an internal API, this is worth a patch this week rather than the next scheduled maintenance window.

What Actually Broke

Two of the ten fixes matter more than the rest because they touch decisions PHP makes about trust, not just edge-case crashes.

CVE-2026-91768 sits in PHP-FPM’s listen.allowed_clients directive, the setting a lot of hosting setups lean on to restrict which IP addresses can reach the FastCGI socket directly. According to PHP’s own GHSA-62xp-839h-2637 advisory, the ACL check does a partial address comparison, which means an IPv6 client can slip past a rule written for a different textual form of the same address. The fix landed identically across 8.5.11, 8.4.26, 8.3.35, and 8.2.34, so it isn’t a quirk of one branch, it’s the same FPM code in all of them.

CVE-2026-91769 is in the OpenSSL extension: TLS hostname verification can fall back to matching a certificate’s Common Name after the Subject Alternative Name check fails, instead of rejecting the connection outright. A related bug, CVE-2026-91767, is a heap buffer overflow in that same wildcard-matching code when a server hands back a crafted certificate. Between the two, any PHP code that opens outbound HTTPS connections, curl, stream wrappers, SOAP clients, gets a real change in how hard it is for a misconfigured or malicious endpoint to pass as trusted.

The Rest of the Patch Set

The same release closes a cross-origin credential leak in the HTTP stream wrapper’s redirect handling (CVE-2026-91766), an integer overflow in Phar’s TAR handling that let a crafted archive inject extra entries (CVE-2026-6103), unbounded recursion in SOAP’s server-side cleanup that a malformed request could use to exhaust memory (CVE-2026-91765), an older SOAP HTTP parsing overflow (CVE-2025-14181), packet overreads in the mysqlnd wire protocol (CVE-2025-1218), and two out-of-bounds reads affecting stream filters and the HTTP wrapper (CVE-2026-92842, CVE-2026-93682). Windows builds also pick up a fix for reserved device names slipping through file and stream I/O (CVE-2026-17545).

None of this touches PHP 8.6, which is still a preview. The project shipped 8.6.0 RC2 the same day, a feature-frozen build meant for testing, not production.

Who Should Actually Patch, and How

If your hosting stack is still on PHP 8.1 or earlier, none of these specific fixes apply to you because that line is past end of life, and that’s the bigger problem to deal with first. For everyone on a supported branch, the fix is a routine version bump: move to 8.5.11, 8.4.26, 8.3.35, or 8.2.34 depending on where you sit, restart php-fpm, and confirm the new version is actually live.

Most managed WordPress hosts will roll this out on their own schedule, but it’s worth checking rather than assuming, especially if you manage a VPS or dedicated server yourself. Our WordPress Development team treats PHP version and patch level as a standard line item in any site audit, since a stale PHP branch underneath an otherwise well-kept site is one of the more common things we find. For custom PHP backends outside WordPress, this kind of dependency patching is exactly what our Web Application Development team keeps on a schedule instead of leaving to whoever happens to notice first.

Sources

Sajil Memon is a co-founder of ConicPlex and a Senior Full Stack Developer focused on backend work: Node.js, PHP, APIs, and the infrastructure decisions that determine whether a system holds up under real traffic. He’s spent years on the side of a project that doesn’t get demoed, the part that has to keep working after launch. He writes here about the technical tradeoffs in backend architecture, deployment, and data handling that only become obvious once something breaks in production.

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

Plugins

Illustration of a torn ticket stub representing a WooCommerce deposit, split between a paid purple portion and an unpaid outlined portion, with a coin token overlapping the corner

Best WooCommerce Deposit and Partial Payment Plugins: 3 Real Options Compared

A WooCommerce deposit plugin lets a customer pay part of an order now and the rest later, useful for custom-made…

Sajil Memon

September 26, 2026

News & Updates

A dark home office desk at night lit by a monitor glowing WordPress blue and a warm desk lamp, with a flagged paper form sitting among developer clutter

Zero Spam for WordPress Patches a Stored XSS Flaw in Its Contact Form 7 Integration (CVE-2026-96752)

Zero Spam for WordPress 5.7.11 patches a high-severity stored XSS flaw in its Contact Form 7 integration, tracked as CVE-2026-96752,…

Aftab Memon

September 25, 2026

Plugins

Illustration of a location pin with a service-radius ring and a banknote shape, representing restricting cash on delivery by pincode in WooCommerce

How to Restrict Cash on Delivery by Pincode in WooCommerce (3 Plugins Compared)

Three real plugins restrict WooCommerce Cash on Delivery by pincode or postcode, compared on price, requirements, and setup steps, with…

Sajil Memon

September 25, 2026

WhatsApp
Husen Memon
Husen Memon
Typically replies instant