Software 44431 Published by

PHP 8.5.7 patches the tracing JIT crashes that have been randomly killing Opcache processes under heavy load. The release also closes two URI parsing vulnerabilities that could misroute requests or corrupt memory when handling complex paths. Beyond those critical fixes, developers get quieter DOM XPath errors, corrected date overflow behavior, and smoother OpenSSL 4.0 compatibility without touching any code. Rolling out this update in staging first catches extension conflicts early and keeps production servers from tripping over old edge cases.



PHP 8.5.7 Release Fixes Critical JIT Crashes and URI Vulnerabilities

The latest update to the language brings a mix of stability patches and security fixes that matter for production environments. PHP 8.5.7 addresses several tracing JIT crashes in Opcache, resolves a use-after-free flaw in DOM XPath extensions, and patches two URI parsing vulnerabilities tied to CVE identifiers. Developers running custom extensions or heavy caching setups should prioritize this upgrade before deploying to live servers.

Opcache Tracing JIT Gets Major Crash Fixes for PHP 8.5.7

The tracing just-in-time compiler has been a performance win for many applications, but it also carried enough edge-case bugs to cause random segfaults under load. This release targets three separate issues that triggered crashes when virtual machine interrupts occurred during user function calls or tailcall operations. Developers who rely on Opcache for heavy workloads will notice fewer unexpected process terminations after applying the patch. The fixes come from core contributors who traced assertion failures back to interrupt handling paths and adjusted the trace execution logic accordingly. Production queues often stall hard when a single JIT trace hits an unhandled interrupt, and this update closes that gap by routing interrupts safely through the helper stack instead of letting them tear down active traces.

URI Parser Vulnerabilities Require Immediate Attention

Two security advisories tied to the underlying uriparser library demand attention before rolling out this version. The first issue involves pointer difference truncation that could corrupt memory handling during complex path resolution. The second flaw allows the EqualsUri function to treat completely different URIs as identical, which breaks routing logic and session validation in web frameworks. Both problems stem from versions of uriparser older than 1.0.2 and get resolved by pulling in the updated dependency through this release. Applications that parse user-supplied URLs or handle file path manipulation should verify their routing tables after upgrading to prevent misdirected requests. Leaving those CVEs open is basically handing attackers a free pass to bypass access controls.

DOM, Date Handling, and OpenSSL Compatibility Updates

Several other components receive targeted corrections that affect everyday development workflows. The DOM extension fixes a use-after-free condition in custom XPath functions, which prevents memory corruption when scripts register external evaluation routines. Date handling gains an overflow fix for large integer conversions, stopping silent data truncation during timestamp calculations. Standard library adjustments correct version_compare behavior when strings end with a trailing dot, eliminating false positives in dependency checks. OpenSSL compatibility improvements also smooth the transition to version 4.0, removing handshake failures that previously broke secure connections on newer Linux distributions. These changes keep legacy code paths from tripping over modern system libraries.

Release php-8.5.7

Tag for php-8.5.7

Release php-8.5.7 ยท php/php-src

Upgrading takes a few minutes and usually requires zero code changes unless custom extensions rely on deprecated behavior. Testing the new build in staging first catches any extension conflicts before production traffic hits the server. The patch keeps caching stable, closes routing loopholes, and removes enough edge-case crashes to make deployment feel less like rolling dice. Keep the update cycle tight and let the JIT do its job without fighting broken interrupt handlers.