
CVE-2026-109618/109619 PHP session.upload_progress Exploit-Forschung — POC & Analyse
Unabhängige Sicherheitsforschung zu den kritischen Schwachstellen in PHP session.upload_progress (CVSS v4.0 9.2).
Autor: Qi Deng (@ikow)
Datum: 2026-10-21
Vollständige Analyse: qideng.substack.com
Zwei kritische Pre-Auth-RCE-Schwachstellen im session.upload_progress-Handler des PHP-Kerns, die PHP 5.4.0 bis 8.5.x betreffen. Dieses Repository enthält Verifikations-POCs und eine Lab-Umgebung für autorisierte Sicherheitstests.
| Kette | Typ | Bedingungen | Verifiziert |
|---|---|---|---|
| Session-Datei-Injection + LFI | Logikfehler | upload_progress=On (Standard) + App-LFI | ✅ RCE |
| var_destroy UAF → Handler-Überschreibung | Speicherkorruption | unserialize() + /proc/self/mem | ✅ ASAN + RCE |
Handler-Mismatch → __destruct | Deserialisierung | Verzeichnisübergreifender Handler-Mismatch + POP-Gadget | ✅ RCE |
session.use_only_cookies (PR #22113)var_destroy __destruct-Reentry-UAF — durch ASAN bestätigter Heap-Use-After-FreePS(serializer) wird in RSHUTDOWN nicht zurückgesetzt — anforderungsübergreifendes Serializer-Leak in FPM__destruct wird bei Decode-FEHLER ausgelöst — Objekt-Injection über Handler-Mismatch + nachfolgende Datenpoc/
verify_session_injection.py — Verify filename injection into session files
verify_uaf_asan.php — Trigger ASAN heap-use-after-free (var_destroy)
verify_handler_mismatch.py — Verify handler mismatch → object deserialization
lab/
docker-compose.yml — PHP 8.2.34 FPM + nginx lab environment
Dockerfile — Vulnerable PHP build
php.ini — Lab configuration
setup.sh — One-click lab setup
docs/
ANALYSIS.md — Full technical analysis
# Start the lab
cd lab && ./setup.sh
# Verify session injection
python3 poc/verify_session_injection.py --target http://127.0.0.1:18080
# Verify UAF (requires ASAN build)
docker exec php-asan-lab php poc/verify_uaf_asan.php
# Verify handler mismatch
python3 poc/verify_handler_mismatch.py --target http://127.0.0.1:18080
session.upload_progress); Immediate mitigation (does NOT fix all attack paths)
session.upload_progress.enabled = Off
session.use_only_cookies = On
Diese Forschung dient ausschließlich autorisierten Sicherheitstests und Bildungszwecken. Nicht gegen Systeme einsetzen, die Sie nicht besitzen oder für deren Test Sie keine ausdrückliche Genehmigung haben.
MIT