PHP Foundation says critical flaw was spotted in 2024, but patch stalled for nearly two years

PHP Foundation says critical flaw was spotted in 2024, but patch stalled for nearly two years

N
News Editor
2026-10-22 03:05:48
The PHP Foundation has acknowledged that signs of the critical vulnerability it patched last night were already visible in 2024, but the issue remained unresolved for close to two years because the team could not confirm a practical attack path and could not agree on a fix without major trade-offs. In its post-incident explanation, the foundation called the delay a "structural failure," pointing to weaknesses in its security decision-making process and limited staffing. It also stressed that the 2024 finding reflected only a theoretical possibility at the time, not a confirmed remote code execution path. The issue became urgent in the summer of 2026 after PHP entered OpenAI’s Patch the Planet program and Calif began an audit on July 30. Calif researcher Ryan Austin reported an RCE path on Aug. 11, and OpenAI independently reported the same root cause that day. Wiz later added another attack path on Aug. 24, followed by OpenAI on Sept. 18. The foundation then moved the bug to top priority and assigned multiple people full-time until a fix was released more than two months later. Website operators are now being told to upgrade to PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35. The affected scope includes PHP-FPM, mod_php, FrankenPHP, and LiteSpeed.

The PHP Foundation said the critical vulnerability it patched last night had already shown warning signs in 2024, but the fix stalled for nearly two years because developers could not identify a concrete exploitation path and could not settle on a repair strategy without serious trade-offs.

In a post-incident write-up, the foundation described the delay as a "structural failure" tied to its security decision process and limited resources. At the same time, it said the 2024 finding reflected only a theoretical possibility of exploitation. The team had not confirmed a practical path at that stage, which it distinguished from knowingly leaving a remotely exploitable bug unpatched.

Early signs surfaced while fixing a different issue

According to the foundation, the first signs appeared when a core developer was working on another issue reported in a Quarkslab audit. The memory bug at the center of the current incident was not listed as an item in that audit report. Security firm Calif gave the same account: the issue was not fixed at the time because exploitability had not been confirmed.

When the audit results were published in April 2025, the foundation said publicly that the PHP development team had addressed all discovered issues. This memory problem was not part of the audit findings, and it was not disclosed separately at that time.

The flaw involved OOM handling and corrupted internal state

The foundation said PHP’s memory_limit, which caps the amount of memory available to a single request, sits at the center of the problem. If a request hits that limit at the wrong moment and runs into OOM, or out-of-memory, PHP can leave behind partially initialized internal data structures. Those structures may later be treated as valid, leading to memory corruption.

The hard part was where the bug lived. Memory management and error handling sit deep in code paths that nearly every request passes through. The foundation said proposed fixes came with difficult costs: some would break backward compatibility, some could introduce new denial-of-service risk, and some would force a large number of third-party extensions to change as well.

According to the GitHub security advisory, the final patch removed the old behavior that aborted a request immediately on memory exhaustion and replaced it with a stop at the next safe point. In practice, that rewrote how PHP handles OOM conditions. The foundation also said only a small number of core developers understand the engine at that depth, and many of them split time across multiple responsibilities, which contributed to repeated stops and restarts in the patching effort.

The issue became top priority in the summer of 2026

The turning point came in the summer of 2026. The foundation brought PHP into OpenAI’s Patch the Planet program, and Calif began its audit on July 30.

On Aug. 11, Calif researcher Ryan Austin reported a remote code execution bug that required no special conditions and shared the same root cause as the memory issue seen in 2024. OpenAI independently reported the same root cause on the same day. Wiz then added an attack path on Aug. 24, and OpenAI followed with another on Sept. 18, giving the foundation a clearer picture of the full impact.

From that point, the foundation said, the bug became the top priority for its security staff. Multiple people worked on it full-time, and the patch was released more than two months later.

Calif listed 11 applications exposed without login

Calif said 11 applications could be compromised without authentication, including WordPress, Drupal, and Joomla. It also said the earliest affected code path could be traced back to PHP 5.4.0, released in 2012.

Austin wrote that he did not rely on a special framework or on models unavailable to the public. Instead, he used his familiarity with the target’s vulnerability history and steered AI in that direction. As he put it, "LLMs default to looking from the newest, most visible vulnerabilities into nearby older code, and they are less likely to start on their own from obscure exploitation techniques from 20 years ago."

The foundation says it has changed its internal process

Looking ahead, the foundation said it has started allowing decisions to move forward by majority vote and is encouraging compromise when fixes involve difficult trade-offs. Severe vulnerabilities that get stuck in those trade-offs will be escalated to leadership earlier.

It also said an ecosystem security team was formed in May and that new staff have joined. Since July 1, the team has published 15 CVEs and handled another 106 reports that were invalid, duplicates, or could not be reproduced.

The foundation also called on companies, cloud providers, and governments to provide funding. It said PHP underpins government services, online stores, and banks, while security work still depends on a small number of funded developers and limited volunteer support.

What site operators should do now

The guidance for website administrators was direct: upgrade to 8.5.12, 8.4.27, 8.3.36, or 8.2.35. The affected scope covers all PHP deployments that handle web requests, including PHP-FPM, mod_php, FrankenPHP, and LiteSpeed.

Official support has already ended for versions below PHP 8.1. For PHP 7.4, 8.0, and 8.1, the security team has provided minimal source patches for users who compile from source.

Temporary mitigations include setting memory_limit to -1 or lowering post_max_size, but the foundation said those measures are incomplete. Upgrading is the only complete fix.

This article was originally published by Bit.Fan. For more cryptocurrency news and market insights, visit www.bit.fan.
400

Disclaimer:

The market information, project data, and third-party content displayed on this platform are for industry information sharing only and do not constitute any form of investment advice or return commitment.

Cryptocurrency trading carries high risks. Users should fully assess their risk tolerance and make independent decisions. All profits, losses, and legal responsibilities are borne by the users themselves.