search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Memory corruption vulnerabilities in PHP

Vulnerability Note VU#763488

Original Release Date: 2026-10-22 | Last Revised: 2026-10-22

Overview

Two memory-related vulnerabilities have been identified in PHP versions prior to 8.2.35, 8.3.36, 8.4.27, and 8.5.12. An unauthenticated remote attacker with network access to PHP web services can exploit these vulnerabilities via specially crafted HTTP requests to potentially achieve arbitrary code execution.

Description

PHP is a widely used open-source scripting language designed for web development and server-side applications. It powers millions of websites and web applications worldwide and can be deployed through a variety of server configurations, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP, and LiteSpeed.

CVE-2026-109618: A memory corruption vulnerability exists in the out-of-memory (OOM) handling mechanism of PHP versions prior to 8.2.35, 8.3.36, 8.4.27, and 8.5.12. The vulnerability occurs when an OOM condition interrupts request processing while internal request data is only partially initialized; subsequent cleanup routines may access the invalid memory, potentially causing memory corruption and enabling arbitrary code execution.

CVE-2026-109619: A use-after-free vulnerability exists in the global state management of PHP versions prior to 8.2.35, 8.3.36, 8.4.27, and 8.5.12. The vulnerability occurs when a worker retains a reference to request-owned state after its backing memory has been freed. A subsequent request handled by the same worker can access this stale state before normal request initialization resets it, potentially causing memory corruption and enabling arbitrary code execution.

Impact

Successful exploitation of these vulnerabilities allows an unauthenticated attacker to remotely execute arbitrary code via specially crafted HTTP requests, compromising the confidentiality, integrity, and availability of the web service and underlying infrastructure. Apache mod_php deployments are at particularly high risk, as proof-of-concept exploitation has demonstrated that unauthenticated requests can trigger the attack before any application code executes.

Solution

Refer to the Vendor Information section below for newly patched versions of PHP that remediate these vulnerabilities. All PHP users are strongly encouraged to update immediately to PHP 8.2.35, 8.3.36, 8.4.27, or 8.5.12. Source downloads are available on the official PHP release page at php.net/downloads.

Linux users are advised to check with their distribution vendor for updated packages, as many distributions received patches in advance. For PHP 8.1 and older versions that no longer receive official updates from the PHP project, contact your LTS vendor for backported fixes or upgrade to a supported version. The PHP security team has provided limited source backports for PHP 7.4, PHP 8.0, and PHP 8.1 to assist users building from source or without access to an LTS vendor.

If immediate patching is not feasible, the following temporary mitigation measures may reduce exposure to specific attack paths, though they do not provide complete protection. Because these vulnerabilities are closely related, mitigations for both CVEs should be applied:

For CVE-2026-109618 (OOM Corruption):

  • Set memory_limit=-1 at an administrative level so it cannot be overridden by applications, for example via php_admin_value in the FPM pool or Apache configuration.
  • Set a low post_max_size (8M for applications without file uploads, 32M if uploads are necessary).
  • Keep upload_max_filesize below post_max_size.
  • Enforce limits at the web server or proxy level for decoded request-body size, input variable count, multipart part count, header count, and nesting depth.
  • Use container or cgroup limits as an availability boundary with policies that kill only the affected worker. Notably, RLIMIT_AS or RLIMIT_DATA should not be used to bound memory, as these cause mmap() to fail once the limit is reached, triggering the vulnerable code path rather than preventing it.

For CVE-2026-109619 (Stale Global State):

  • Set session.upload_progress.enabled=0 in php.ini, FPM pool, or server configuration and restart all workers.
  • On PHP 8.5, set fatal_error_backtraces=0 and restart all workers.
  • Remove invalid or deprecated settings applied per request that emit diagnostics before initialization.
  • Remediate attacker-reachable fatal errors and execution timeouts.

System owners can limit the potential impact of successful exploitation by implementing network segmentation and ensuring that PHP installations are configured to run with minimum necessary privileges. Users are advised to monitor closely for unusual PHP process behavior or unexpected memory allocation patterns.

Acknowledgements

Thanks to OpenAI, Wiz, and Ryan at Calif.io for reporting these vulnerabilities. This document was written by Molly Jaconski.

Vendor Information

763488
 

SUSE Linux Affected

Notified:  2026-10-20 Updated: 2026-10-22

Statement Date:   October 21, 2026

CVE-2026-109618 Affected
CVE-2026-109619 Affected

Vendor Statement

Fixes for the two CVEs will be released as soon as possible

The PHP Group Affected

Updated: 2026-10-22

Statement Date:   October 19, 2026

CVE-2026-109618 Affected
CVE-2026-109619 Affected

Vendor Statement

We have not received a statement from the vendor.

References

Akaunting Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

AlmaLinux OS Foundation Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Alpine Linux Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Arch Linux Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

CentOS Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Debian GNU/Linux Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Drupal Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Facebook Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

FreeBSD Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Gentoo Linux Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

InnoCraft Matomo Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Joomla Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Laravel Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Mailchimp Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Meta Unknown

Notified:  2026-10-21 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Moodle Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

OpenCart Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

phpBB Group Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

PrestaShop Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Red Hat Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Rocky Linux Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

RoundCube Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

salesforce.com Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Shopware Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Slack Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

Wikimedia Foundation (MediaWiki) Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

WordPress Unknown

Notified:  2026-10-20 Updated: 2026-10-22

CVE-2026-109618 Unknown
CVE-2026-109619 Unknown

Vendor Statement

We have not received a statement from the vendor.

View all 29 vendors View less vendors


Other Information

CVE IDs: CVE-2026-109618 CVE-2026-109619
API URL: VINCE JSON | CSAF
Date Public: 2026-10-22
Date First Published: 2026-10-22
Date Last Updated: 2026-10-22 22:37 UTC
Document Revision: 4

Sponsored by CISA.