<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>No Patch Coming on Despair Driven Development</title><link>https://despairdrivendevelopment.com/series/no-patch-coming/</link><description>Recent content in No Patch Coming on Despair Driven Development</description><generator>Hugo</generator><language>en-us</language><managingEditor>matt@fitzpatricksoftware.com (Matthew FitzPatrick)</managingEditor><webMaster>matt@fitzpatricksoftware.com (Matthew FitzPatrick)</webMaster><lastBuildDate>Wed, 21 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://despairdrivendevelopment.com/series/no-patch-coming/index.xml" rel="self" type="application/rss+xml"/><item><title>Put Your Unpatchable PHP in a Box</title><link>https://despairdrivendevelopment.com/posts/put-unpatchable-php-in-a-box/</link><pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate><author>matt@fitzpatricksoftware.com (Matthew FitzPatrick)</author><guid>https://despairdrivendevelopment.com/posts/put-unpatchable-php-in-a-box/</guid><description>&lt;p&gt;I spent part of this year helping a client whose path to PHP 8.2+ was a real climb — a large monolith, a couple of extensions with no clean 8.x equivalent, and a release calendar that wasn&amp;rsquo;t clearing for months. While we scoped the actual port, the stopgap question got sharp: how do you keep the old interpreter serving traffic without getting owned in the meantime? One answer sounds unhinged, and I kept circling back to it anyway — wrap the legacy PHP &lt;em&gt;at the web-server level&lt;/em&gt; inside a modern, patched PHP runtime. Keep a fixed PHP 8.3 pool out front and let it, not the old engine, be the thing that touches the network; the legacy code runs behind it as a CLI process, and no file upload ever reaches it directly. Does that add latency? Is it even workable?&lt;/p&gt;
&lt;p&gt;Yes, it adds latency, and yes, it&amp;rsquo;s workable. And once you sit with it, it isn&amp;rsquo;t as crazy as it sounds. It&amp;rsquo;s CGI, reborn — and for these two CVEs it does something the part-one mitigations don&amp;rsquo;t: it removes the attack surface instead of guarding it. The price is real, and most shops shouldn&amp;rsquo;t pay it. But the reasoning is worth walking, because it&amp;rsquo;s the same reasoning that points at where your port is going anyway.&lt;/p&gt;</description></item><item><title>Still on PHP 7.4 and Can't Upgrade? Mitigating the October 2026 RCEs Today</title><link>https://despairdrivendevelopment.com/posts/php-7-4-cant-upgrade-october-2026-mitigations/</link><pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate><author>matt@fitzpatricksoftware.com (Matthew FitzPatrick)</author><guid>https://despairdrivendevelopment.com/posts/php-7-4-cant-upgrade-october-2026-mitigations/</guid><description>&lt;p&gt;PHP shipped fixes for two critical remote code execution bugs in October 2026: CVE-2026-109618 and CVE-2026-109619, both CVSS 9.2, in 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12. If you&amp;rsquo;re on PHP 7.4, 8.0, 8.1, or anything older, &lt;strong&gt;you get no official fix&lt;/strong&gt;, and having read the patch, I&amp;rsquo;m confident the bug is present in your version too. In the next hour: reject &lt;code&gt;multipart/form-data&lt;/code&gt; at your web server on every route that doesn&amp;rsquo;t accept file uploads, and turn off &lt;code&gt;session.upload_progress&lt;/code&gt;. Then start planning the port, because nothing below makes you safe.&lt;/p&gt;</description></item></channel></rss>