On 21 October 2026 the PHP project published a critical security advisory for two remote code execution (RCE) flaws often called php2shell: CVE-2026-109618 and CVE-2026-109619. Fixed releases are PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35. If your business in Pakistan runs a website, ERP, invoicing app or any other PHP or Laravel system on the internet, this update belongs on your checklist this week.
This guide is informational. It summarises official guidance so software buyers and IT owners can act with their host or developer. It is not a penetration-test report and not a substitute for your own security review.
What happened on 21 October 2026
According to the php.net security advisory and the PHP Foundation blog post the same day:
- CVE-2026-109618 — RCE via out-of-memory (OOM) corruption. Memory-limit handling can leave internal request data only partly initialised; cleanup may then treat that data as valid.
- CVE-2026-109619 — RCE via stale global state. Request-owned state can survive after its memory is freed; a later request on the same worker may use that stale state.
Both issues can allow unauthenticated remote code execution under the conditions described by PHP. Risk applies to PHP installations that serve web requests, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. PHP rates risk highest for mod_php, where an unauthenticated request can trigger the attack before application code runs.
CISA urged organisations to patch immediately, prioritising internet-facing systems, and to update to the fixed versions above.
Why this matters for Pakistan SMEs
Many Pakistani SMEs run at least one of the following on PHP:
- Corporate or CMS websites
- Laravel or other PHP web apps
- Cloud ERP or operations portals
- FBR-facing digital invoicing software and related APIs
Important soft note: these flaws sit in the PHP engine itself. An application on an unpatched PHP runtime is at risk regardless of framework — Laravel included. Updating Laravel packages alone does not replace updating PHP.
Shared hosting is common for smaller sites; VPS and cloud VMs are common for ERP and invoicing stacks. In both cases the question is the same: which PHP version is actually serving traffic, and has it been moved to a patched release?
Also note: 23 October advisory (CVE-2026-115560)
On 23 October 2026 PHP published an informational advisory for CVE-2026-115560 involving session upload progress. PHP describes it as an unlikely RCE vector that needs an unusual mix of configuration and application code (changing session.serialize_handler at runtime while upload progress remains enabled).
There is no emergency patched release yet for this issue. PHP recommends setting session.upload_progress.enabled=0 until the next regular bugfix release. The same setting was already listed as a mitigation for CVE-2026-109619 on 21 October. If you applied it then, keep it in place.
Step 1: Check which PHP version you are running
Ask your developer or hosting panel for the version that serves the live site — not only the CLI version on a laptop.
Quick checks
- SSH / VPS: run
php -von the server, and also confirm the PHP-FPM or Apache module version that handles HTTP. - Temporary probe: a one-line
phpinfo()page (removed immediately after) shows the SAPI and version used for web requests. - cPanel MultiPHP: open MultiPHP Manager / Select PHP Version and note the version assigned to the domain.
You want a patched line: 8.5.12+, 8.4.27+, 8.3.36+ or 8.2.35+ on the branch you use. PHP 8.1 and older no longer receive updates from the PHP project; check your Linux vendor for backports, or plan an upgrade to a supported branch.
Step 2: Update PHP (shared hosting vs VPS)
Shared hosting (cPanel MultiPHP)
- In cPanel, open MultiPHP Manager (or Select PHP Version).
- Select the domain and switch to a patched PHP version offered by the host (for example 8.2, 8.3, 8.4 or 8.5 — confirm the patch level is at least 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12).
- If the host has not published the patched build yet, open a ticket and ask when MultiPHP will include the 21 October security releases.
- Restart is usually handled by the panel; still re-check
phpinfo()or the panel version after the change. - If you use Logic Layer hosting or another provider with cPanel, treat MultiPHP as the control plane for which PHP binary your site uses.
VPS / dedicated / cloud VM
- Use your OS packages when possible (they often received the patch ahead of public disclosure, per PHP). On Debian/Ubuntu-style systems that may mean updating
php8.x-*packages from the vendor; on RHEL-style systems, check your distribution or Remi notes. - Or install the matching patched release from php.net downloads.
- Restart every worker after the update: PHP-FPM pools, Apache (especially mod_php), LiteSpeed, FrankenPHP, queue workers and any long-lived PHP process.
- Redeploy containers if PHP is baked into an image — rebuilding is required; restarting an old image is not enough.
PHP states clearly: configuration tweaks only reduce exposure to some paths; updating is the only complete fix for CVE-2026-109618 and CVE-2026-109619.
Interim mitigations (if you cannot update yet)
Use these only as a bridge while you schedule the patch. They do not make an unpatched install safe.
From the php.net advisory:
- For CVE-2026-109618: set
memory_limit=-1in a way apps cannot override (for examplephp_admin_valuein the FPM pool or Apache config); keeppost_max_sizelow (PHP suggests 8M without uploads, 32M when uploads are required); prefer cgroup/container limits overRLIMIT_AS/RLIMIT_DATA. - For CVE-2026-109619: set
session.upload_progress.enabled=0before request parsing (php.ini / FPM pool / server config — notini_set()or.user.ini) and restart workers; on PHP 8.5 also setfatal_error_backtraces=0; remove invalid per-request settings that emit diagnostics before initialisation; reduce attacker-reachable fatals and timeouts.
CISA also notes that a web application firewall may provide some protection until systems are updated — still not a substitute for the patch.
Laravel PHP version upgrade checklist (Pakistan)
If your stack is Laravel (or another PHP framework), treat this as a runtime incident first:
- Confirm production PHP meets 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 on the branch you use.
- Confirm
composer.json/ platform PHP constraints still match the patched version. - Run your test suite or a short smoke test (login, critical APIs, invoice create/submit if you use digital invoicing).
- Restart PHP-FPM, Octane/RoadRunner/Swoole if used, Horizon/queue workers and schedulers.
- Keep
session.upload_progress.enabled=0until PHP ships the follow-up fix for CVE-2026-115560. - Review logs for unusual worker crashes, memory exhaustion spikes or unexpected shell activity (defence in depth; follow your host’s monitoring guidance).
How Logic Layer approaches security on Laravel stacks
Logic Layer builds and maintains business software for Pakistani organisations — including professional websites, the FBR Digital Invoicing SaaS, and Logic Layer ERP. For Laravel and PHP work we treat security hygiene as part of delivery and maintenance, not a one-off launch checklist:
- Supported PHP versions and timely runtime upgrades when vendors publish security releases
- Dependency and framework updates aligned with the application’s supported PHP range
- Sensible server defaults (limits, sessions, HTTPS, least-privilege access) for cloud or hosted deployments
- Backups and a clear path to restart workers after a patch
- Change review before production deploys for invoicing and ERP environments where uptime and data integrity matter
We do not claim that any single product is immune to engine-level bugs. The practical response is the same one PHP and CISA describe: inventory where PHP runs, patch, restart, and verify.
What you should do this week
- List every public PHP site and app your business uses (website, ERP, invoicing, portals).
- Confirm each one’s live PHP version.
- Move to 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (or a vendor-backported equivalent) and restart workers.
- Leave
session.upload_progress.enabled=0on until the CVE-2026-115560 fix ships. - If you are unsure which servers are affected, ask your developer or host for a short written confirmation.
Need a security review of your Laravel stack?
If you want a second pair of eyes on PHP versioning, hosting layout or a Laravel application that powers your website, digital invoicing or ERP workflows, contact Logic Layer. We can help you confirm patch status and plan a safe upgrade path.
Contact Logic Layer — WhatsApp 03100100620 or visit logiclayer.com.pk/contact.
Official sources
- PHP.net — Security advisory: Critical remote code execution vulnerabilities (21 Oct 2026)
- PHP.net — Informational advisory: Session upload progress / CVE-2026-115560 (23 Oct 2026)
- The PHP Foundation — Today’s PHP Security Release (21 Oct 2026)
- CISA — Critical Vulnerabilities in PHP Require Immediate Patching