
# Воспроизведение cve-2025-0282-ivanti_rce_reproduction
CVSS 9.0 — КРИТИЧЕСКИЙ | Активно эксплуатируемый 0-day | Обнаружена в январе 2025 года
CVE-2025-0282 — это уязвимость переполнения буфера в стеке (CWE-121 / CWE-787) в компоненте обработки IFT/TLS в Ivanti Connect Secure (ICS), Ivanti Policy Secure (IPS) и Ivanti ZTA Gateways. Эта ошибка позволяет неаутентифицированному удалённому злоумышленнику добиться выполнения произвольного кода на целевом устройстве с правами root.
Уязвимость была раскрыта 8 января 2025 года после того, как была замечена в активной эксплуатации в качестве 0-day. Она была приписана китайской кибергруппировке, отслеживаемой Mandiant как UNC5337. CISA добавила этот CVE в свой каталог известных эксплуатируемых уязвимостей (KEV) в течение 72 часов после публичного раскрытия.
Уязвимость находится в пути обработки IFT (Internal Forwarding Table) / TLS-пакетов в HTTPS-интерфейсе управления устройства. При разборе повреждённых сообщений TLS handshake или специально созданных IFT-кадров код копирует управляемые злоумышленником данные в стековый буфер фиксированного размера без надлежащей проверки границ:
memcpy(stack_buffer, attacker_data, attacker_controlled_length); // no length check
Поскольку целевой буфер находится в стеке, полезная нагрузка увеличенного размера перезаписывает:
| Продукт | Затронутые версии | Исправленная версия |
|---|---|---|
| Ivanti Connect Secure | < 22.7R2.5 | 22.7R2.5 |
| Ivanti Policy Secure | < 22.7R1.2 | 22.7R1.2 |
| ZTA Gateways | < 22.7R2.3 | 22.7R2.3 |
Примечание: Ivanti подтвердила, что линейка версий 22.6 также уязвима. Клиенты, всё ещё использующие ICS 9.x или 22.4, в равной степени подвержены угрозе.
sslvpn или dsaccess/tmp/*.py, .sslvpn_config_upload, или неожиданных записей в cronscapy, socket и sslКлонируйте этот репозиторий:
git clone https://github.com/your-org/cve-2025-0282-reproduction
cd cve-2025-0282-reproduction
Установите зависимости:
pip install -r requirements.txt
(Требования: scapy, argparse, socket — socket входит в стандартную библиотеку)
Запустите PoC против цели:
python exploit.py --target 192.168.1.100 --port 8443
Чтобы указать собственный размер полезной нагрузки:
python exploit.py --target 192.168.1.100 --port 8443 --payload-size 4096
Включите отладочный вывод:
python exploit.py --target 192.168.1.100 --port 8443 --verbose
memcpy в 1024-байтный стековый буфер без проверки границВажно: Предоставленный код предназначен только для образовательных целей и авторизованного тестирования. Он демонстрирует условие переполнения буфера и вызовет отказ в обслуживании (сбой) на незапатченных системах. Запуск кода против систем, которые вам не принадлежат или на тестирование которых у вас нет письменного разрешения, является незаконным.
См. exploit.py в этом репозитории.
Скрипт принимает следующие аргументы:
usage: exploit.py [-h] --target TARGET [--port PORT] [--payload-size PAYLOAD_SIZE] [--verbose]
CVE-2025-0282 Ivanti Stack Buffer Overflow Reproduction PoC
options:
-h, --help show this help message and exit
--target TARGET Target Ivanti appliance IP or hostname
--port PORT Target port (default: 8443)
--payload-size PAYLOAD_SIZE
Size of overflow payload in bytes (default: 4096)
--verbose Enable verbose/debug output
Этот репозиторий предоставляется только для авторизованных исследований в области безопасности и образовательных целей. Авторы не несут ответственности за любое неправомерное использование этого кода. Несанкционированная эксплуатация CVE-2025-0282 является незаконной и неэтичной. Всегда получайте явное письменное разрешение перед тестированием любой системы.
| Поле | Детали |
|---|
| Вектор | Сеть |
| Сложность | Низкая |
| Привилегии | Не требуются |
| Взаимодействие с пользователем | Не требуется |
| Область действия | Без изменений |
| Конфиденциальность | Высокая |
| Целостность | Высокая |
| Доступность | Высокая |
| Действие | Детали |
|---|
| Немедленно установите обновление | Обновитесь до ICS >=22.7R2.5, IPS >=22.7R1.2, ZTA >=22.7R2.3 |
| Ограничьте сетевой доступ | Ограничьте HTTPS-интерфейс управления только доверенными IP-адресами |
| Включите MFA | Снижает горизонтальное перемещение после эксплуатации |
| Отслеживайте журналы | Следите за аномалиями TLS и неожиданными сбоями процессов |
| Ищите IOC | Проверяйте наличие TTP UNC5337 (дамп учётных данных, туннельные инструменты) |