
CVE-2026-109618/109619 Исследование эксплуатации PHP session.upload_progress — POC и анализ
Независимое исследование безопасности критических уязвимостей PHP session.upload_progress (CVSS v4.0 9.2).
Автор: Qi Deng (@ikow)
Дата: 2026-10-21
Полный отчёт: qideng.substack.com
Две критические уязвимости RCE до аутентификации в обработчике session.upload_progress ядра PHP, затрагивающие PHP 5.4.0 — 8.5.x. Этот репозиторий содержит проверочные POC и лабораторную среду для авторизованного тестирования безопасности.
| Цепочка | Тип | Условия | Подтверждено |
|---|---|---|---|
| Session File Injection + LFI | Логическая ошибка | upload_progress=On (по умолчанию) + LFI в приложении | ✅ RCE |
| var_destroy UAF → Handler Overwrite | Повреждение памяти | unserialize() + /proc/self/mem | ✅ ASAN + RCE |
Handler Mismatch → __destruct | Десериализация | Несовпадение обработчиков между каталогами + POP-гаджет | ✅ RCE |
session.use_only_cookies (PR #22113)__destruct из var_destroy — подтверждённый ASAN heap-use-after-freePS(serializer) не сбрасывается в RSHUTDOWN — утечка сериализатора между запросами в FPM__destruct срабатывает при СБОЕ декодирования — инъекция объекта через несовпадение обработчиков + хвостовые данныеpoc/
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
Это исследование предназначено только для авторизованного тестирования безопасности и образовательных целей. Не используйте его против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.
MIT