Research collected from outside sources and what this site derives from them; every fact links to a saved copy of its source Research or story?

Fact · technical · confirmed

Both bugs are in the C engine, not in PHP code: the allocator's longjmp-based bailout on out-of-memory, and request globals that survive a failed request

Who says it: php/php-src fix commit; the GitHub advisories · Sources: php/php-src, read from a clone PHP PHP

The fix replaces bailout with a delayed error and an UnwindExit at a safe point, adds a hard limit that _exits, and resets the globals. See the code page.

Fact-check

A6 Established · Record · verdict: holds

The fix commit itself (read from a clone, raw patch hashed in the vault) says 'Replace bailout on OOM with UnwindExit' and 'Properly reset various globals that may be accessed during startup', and removes zend_bailout() from the allocator; the two advisories describe the same two mechanisms. The authoritative record carries it.

Capture checkedResultWhat it sayssha256 of the text read
github-php-src-fix-commit-3584a98bdcarries- Replace bailout on OOM with UnwindExit - Properly reset various globals that may be accessed during startup26bed812bcc7c89e
github-ghsa-w8hw-w9fx-j79wcarriesPHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request.84ab95d3b1d538ba
github-ghsa-6wmf-4rv5-p3rpcarriesglobal state, such as error, session, object and extension state that is retained by a worker but points to memory owned by one request.99d85c973c41c024

Open tickets: Finding-71.

Graded in Run-1, resting on captures up to 2026-10-22 08:15 UTC. The scale is on the fact-check page.

This fact over time

  1. 2026-10-18 15:26 UTCphp/php-src, read from a clone publishes Commit 3584a98bd: Avoid state corruption via bailout (the php2shell fix) and the PHP-7.4 backport 712e60f9e
  2. 2026-10-21 13:34 UTCPHP publishes RCE via OOM corruption (CVE-2026-109618)
  3. 2026-10-21 13:34 UTCPHP publishes RCE via stale global state (CVE-2026-109619)
  4. 2026-10-22 08:09 UTCSaved into the evidence vault: PHP
  5. 2026-10-22 08:09 UTCSaved into the evidence vault: PHP
  6. 2026-10-22Enters this site as confirmed in v0.2.0 (reconstructed from git)

Published: when the source says it was published. Saved: the first capture into the evidence vault. The rest are this site: the release in which the fact first appeared and every release that changed its wording, sources or status.

What it rests on

Commit 3584a98bd: Avoid state corruption via bailout (the …RCE via OOM corruption (CVE-2026-109618)RCE via stale global state (CVE-2026-109619)fact fix-engine

Where this fact appears

In the briefings for:

And on every claim.

Every version of this fact

v1 · site v0.2.0 · 22 October 2026 · confirmed
Both bugs are in the C engine, not in PHP code: the allocator's longjmp-based bailout on out-of-memory, and request globals that survive a failed request
Who says it: php/php-src fix commit; the GitHub advisories
Status: confirmed
Topic: technical
Sources: github-php-src-fix-commit-3584a98bd, github-ghsa-w8hw-w9fx-j79w, github-ghsa-6wmf-4rv5-p3rp