
CVE-2026-109618/109619 Ricerca sull'exploit di PHP session.upload_progress — POC e analisi
Ricerca di sicurezza indipendente sulle vulnerabilità critiche di PHP session.upload_progress (CVSS v4.0 9.2).
Autore: Qi Deng (@ikow)
Data: 2026-10-21
Analisi completa: qideng.substack.com
Due vulnerabilità critiche di RCE pre-auth nel gestore session.upload_progress del core di PHP, che interessano PHP dalla versione 5.4.0 alla 8.5.x. Questo repository contiene POC di verifica e un ambiente di laboratorio per test di sicurezza autorizzati.
| Catena | Tipo | Condizioni | Verificata |
|---|---|---|---|
| Iniezione di file di sessione + LFI | Bug logico | upload_progress=On (predefinito) + LFI dell'applicazione | ✅ RCE |
| UAF in var_destroy → Sovrascrittura dell'handler | Corruzione di memoria | unserialize() + /proc/self/mem | ✅ ASAN + RCE |
Disallineamento dell'handler → __destruct | Deserializzazione | Disallineamento dell'handler tra directory + gadget POP | ✅ RCE |
session.use_only_cookies (PR #22113)__destruct di var_destroy — heap-use-after-free confermato da ASANPS(serializer) non reimpostato in RSHUTDOWN — fuga del serializer tra richieste in FPM__destruct attivato in caso di FALLIMENTO della decodifica — iniezione di oggetti tramite disallineamento dell'handler + dati finalipoc/
verify_session_injection.py — Verifica l'iniezione del nome file nei file di sessione
verify_uaf_asan.php — Attiva l'heap-use-after-free ASAN (var_destroy)
verify_handler_mismatch.py — Verifica il disallineamento dell'handler → deserializzazione di oggetti
lab/
docker-compose.yml — Ambiente di laboratorio PHP 8.2.34 FPM + nginx
Dockerfile — Build PHP vulnerabile
php.ini — Configurazione del laboratorio
setup.sh — Configurazione del laboratorio con un clic
docs/
ANALYSIS.md — Analisi tecnica completa
# 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
Questa ricerca è destinata esclusivamente a test di sicurezza autorizzati e a scopi educativi. Non utilizzarla contro sistemi di cui non si è proprietari o per i quali non si dispone di un'autorizzazione esplicita ai test.
MIT