CVE-2026-109618 / CVE-2026-109619 — PHP php2shell (session.upload_progress UAF)
October 21, 2026 · 2,167 views
PHP core php2shell pair: session.upload_progress multipart timing UAF (618 trigger + 619 offset RCE). CVSS 9.2. Python stdlib PoC: check GET fingerprint + bulk JSONL; exploit smart 618 multi-path or 619 --call. Patch 8.2.35/8.3.36/8.4.27/8.5.12+.
Description
Overview
CVE-2026-109618 and CVE-2026-109619 — PHP core — session.upload_progress multipart timing / use-after-free research chain (php2shell). Vendor-rated CVSS 9.2 Critical. This repository provides passive fingerprinting (check) and active trigger tests (exploit) — banner match alone does not prove remote RCE without lab --monitor or build-specific 619 offsets.
| | |
|---|---|
| Research name | php2shell |
| Fixed (emergency) | 8.2.35, 8.3.36, 8.4.27, 8.5.12+ (supported branches) |
| Check | GET only — X-Powered-By / body PHP/x.y.z banner |
| Exploit 618 | Smart multi-path multipart stall / micro / inject |
| Exploit 619 | Requires --call (zend_call_function offset) — not portable |
PoC page: https://pocbit.org/pocs/cve-2026-109618
GitHub: murrez/php2shell
CVE.org: CVE-2026-109618 · CVE-2026-109619
Bundled tool (Python 3.8+, stdlib only)
Download cve-2026-109618.py — writes poc.py, php2shell_core.py, php2shell_exploit.py, EXPLOIT.md, tests/.
python cve-2026-109618.py
python poc.py check https://example.com/index.php
python poc.py check -f targets.example.txt -o results.jsonl --workers 16
python poc.py exploit http://127.0.0.1:19268/index.php --monitor --stall 1.5
python poc.py exploit https://target.example/ -o one-host.json
python poc.py exploit https://127.0.0.1/index.php --chain 619 --call 0xYOUR_ADDR --command "id" --expect "uid="
python -m unittest discover -s tests -v
Exploit verdicts: armed (lab monitor), session_fixation, upload_accepted, inconclusive, rce_hit (619 + marker). See EXPLOIT.md in bundle.
Mitigation
- Patch PHP to emergency fixed builds on your branch.
session.upload_progress.enabled = Off— partial mitigation; patch remains primary.- Wide inventory: use check only; keep exploit lists small (many POSTs per host in smart mode).
Legal and ethical use
Authorized security research and patch validation only.
References
Related PoCs
Same platform, vendor, or tags — explore more write-ups on Pocbit.
- Web appCVE-2026-82531critical
CVE-2026-82531 — Smarty Template Cache Poisoning RCE (SmartyNocache / extends)
smarty-php/smarty <4.5.8 and 5.0.0–5.8.4: extends/inheritance + cache regen with null nocache_hash lets forged assign() data inject SmartyNocache markers into cache PHP → include() RCE. CWE-94, CVSS 4.0 9.2 Critical (AT:P). Fixed 4.5.8 / 5.8.5. Python PoC: check/exploit/payload, Docker lab 5.8.4, hits.txt & exploited.txt. Marker POCBIT-82531-OK.
- Web appCVE-2026-107806critical
CVE-2026-107806 — nginx-ui 2.3.8–2.4.x Authenticated RCE (Forged Backup Restore / TestConfigCmd)
0xJacky/nginx-ui >=2.3.8 <2.5.0: admin JWT can download backup, tamper app.ini TestConfigCmd in re-signed zip, POST /api/restore + /api/nginx/test → shell (CWE-94). CVSS 4.0 9.4 Critical PR:H. Not CVE-2026-42238. Fixed 2.5.0. Python PoC: check/exploit, batch url|JWT. Marker POCBIT-107806-OK.
- Web appCVE-2026-85520critical
CVE-2026-85520 — PrestaShop gmfeed (MyPresta) Unauthenticated Arbitrary File Write → RCE
Google Merchant Center Feed (gmfeed) for PrestaShop ≤2.3.9: unauthenticated arbitrary file write on modules/gmfeed/feed.php when Save-to-file / URL export is enabled — attacker controls filename, path, extension, and body → PHP webshell → RCE. CVSS 9.3 Critical. Fixed in 2.3.10+ (2.4.1+ recommended). Python PoC: check, aggressive probe, exploit with marker stub, mass --list -j.
- Web appCVE-2026-76268critical
CVE-2026-76268 — Splunk Enterprise SHC Patroni REST Unauthenticated RCE (archive_command)
Splunk Enterprise 10.2.0–10.2.6 and 10.4.0–10.4.2 on SHC members: PostgreSQL sidecar Patroni REST (typ. :8008) accepts unauth PATCH /config + POST /restart → archive_command OS exec (CWE-306). SVD-2026-1001. CVSS 3.1 9.8 Critical. Fixed 10.2.7 / 10.4.3. Python PoC: check/exploit, OOB POCBIT-76268-OK.