CVE-2026-109618 PUBLISHED

RCE via OOM corruption

Assigner: php
Reserved: 12.10.2026 Published: 21.10.2026 Updated: 21.10.2026

PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 9.2

Product Status

Vendor PHP Group
Product PHP
Versions Default: unaffected
  • affected from 8.2.* to 8.2.35 (excl.)
  • affected from 8.3.* to 8.3.36 (excl.)
  • affected from 8.4.* to 8.4.27 (excl.)
  • affected from 8.5.* to 8.5.12 (excl.)

Workarounds

Check the GitHub Security Advisory for mitigation strategies.

Credits

  • Ryan at Calif.io reporter
  • Wiz reporter
  • OpenAI finder
  • Arnaud Le Blanc remediation developer
  • Ilija Tovilo remediation developer
  • Jakub Zelenka remediation developer
  • Nora Dossche remediation developer

References

Problem Types

  • CWE-416 Use after free CWE
  • CWE-755 Improper Handling of Exceptional Conditions CWE
  • CWE-824 Access of uninitialized pointer CWE
  • CWE-1325 Improperly controlled sequential memory allocation CWE
  • CWE-1419 Incorrect Initialization of Resource CWE

Impacts

  • CAPEC-234 Hijacking a privileged process