Home Server PHP: Find the NAS Panel and Pi Project You Forgot
Somewhere in your home there is a service you set up in one enthusiastic evening and have not thought about since. A NAS panel. Nextcloud for the family photos. phpMyAdmin, because at the time it was easier than learning the command line. A Raspberry Pi project from 2019 that still answers on port 8080. All of it is PHP, and PHP got an emergency fix on 21 October 2026.
What the fix is about
CVE-2026-109618 and CVE-2026-109619 both allow remote code execution without any login. The patched releases are PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, and everything older in those branches is still exposed.
If a device sits on PHP 8.1, 8.0 or 7.4, there is no update to wait for. Those branches are end-of-life, which for a home appliance usually means the vendor is not coming back for it.
Home kit is not too small to be noticed. Scanners walk address ranges rather than choosing interesting victims, and a forwarded port on a residential line answers a scanner just as politely as a datacentre does.
Work through the house in this order
- Open your router and list every port forward and every UPnP rule. That list is your exposure, and it is usually longer than you remember.
- Patch what is on that list first: NAS firmware, Nextcloud, anything with a login page a stranger can load.
- Anything on that list you no longer use, unforward. Deleting a rule is faster than any update and it never breaks. If you still want the service while you are out, reach it over a VPN into your own network instead.
- Then clean up the LAN-only leftovers at a comfortable pace.
Updates come from the vendor’s own channel, from your distribution’s repositories, or from php.net. On most NAS boxes the PHP runtime arrives with firmware, so an app update alone may leave the old version in place.
Run the sweep
Rather than guessing which box has what, run the check on each one. It is POSIX shell, it reads only, and it reports PHP binaries, PHP-FPM workers awaiting a restart, containers and any WordPress install it bumps into.
curl -fsSL https://blog.limewire.com/content/files/2026/10/php-exposure-check.txt -o php-exposure-check.sh
less php-exposure-check.sh
sh php-exposure-check.sh
The SHA-256 you should see is c13cd5690c9d352c6a95e854602be2f330a0799435c05a8261037401fcf50255. Finish code 0 says every install on that box is current, 1 points at something unpatched or expired, and 2 says the device runs no PHP at all.
On a NAS with no package manager you feel like trusting, take the browser copy our verified @limewireofficial account published: php-exposure-check.sh. Pull it down on your laptop, copy it across the LAN, read it on the device. Free, uncapped, and still there next month.
For the full version
Our qualifications, stated plainly: in the dial-up era, LimeWire was where you waited six hours for a file that turned out to be something else entirely. This PHP vulnerability has nothing to do with us — we are simply old enough to find the pattern familiar, and we have been on good behaviour for years.
Once the house is tidy, the complete teardown of this PHP RCE covers every platform, image and version in one place. That is where the detail lives, including the mitigations that quietly make things worse.