<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Php on Kuldeep Pisda</title><link>https://kdpisda.in/tag/php/</link><description>Recent content in Php on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 22 Oct 2026 08:30:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/php/index.xml" rel="self" type="application/rss+xml"/><item><title>PHP's memory_limit Was the Attack Surface: Two Critical RCEs Hide in the Out-of-Memory Path</title><link>https://kdpisda.in/php-oom-longjmp-memory-limit-rce-cve-2026-109618/</link><pubDate>Thu, 22 Oct 2026 08:30:00 +0530</pubDate><guid>https://kdpisda.in/php-oom-longjmp-memory-limit-rce-cve-2026-109618/</guid><description>&lt;p&gt;On 2026-10-21 the PHP project released 8.5.12, 8.4.27, 8.3.36 and 8.2.35 to fix two unauthenticated remote code execution bugs, &lt;a href="https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w"&gt;CVE-2026-109618&lt;/a&gt; and &lt;a href="https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp"&gt;CVE-2026-109619&lt;/a&gt;, both rated CVSS v4 9.2. Patching is the whole answer. The interesting part is the mechanism, because it explains why the interim advice contradicts what most of us configure by habit: the guard that limits memory is what gets exploited.&lt;/p&gt;
&lt;h2 id="a-limit-that-works-by-jumping-out"&gt;A limit that works by jumping out&lt;a class="heading-anchor" href="#a-limit-that-works-by-jumping-out" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;PHP enforces &lt;code&gt;memory_limit&lt;/code&gt; with &lt;code&gt;longjmp()&lt;/code&gt;. When an allocation crosses the limit, execution leaves the current context at once, skipping whatever was in the middle of being set up. The advisory for CVE-2026-109618 states the consequence directly: in some contexts request memory is reachable before it is fully initialised, PHP does not account for the early exit, and request shutdown &amp;ldquo;can read or branch on the invalid memory.&amp;rdquo; The failed allocation does not need to be related to the half-built structure. Any allocation that trips the limit at the wrong moment is enough.&lt;/p&gt;</description></item></channel></rss>