
CVE-2026-23744 — это критическая неаутентифицированная уязвимость удалённого выполнения кода (RCE), затрагивающая MCPJam Inspector ≤ 1.4.2. Проблема возникает из-за того, что Inspector предоставляет управляющий endpoint (/api/mcp/connect), который принимает управляемую пользователем конфигурацию MCP-сервера и может запускать выполнение процессов без надлежащей аутентификации или ограничений безопасности. Затронутые версии по умолчанию прослушивают 0.0.0.0 (все интерфейсы) вместо localhost, что делает возможной удалённую эксплуатацию, если сервис доступен из сети.
Уязвимость связана со следующим endpoint'ом:
POST /api/mcp/connect
Endpoint принимает JSON-объект, содержащий конфигурацию сервера, например:
{
"serverConfig": {
"command": "<executable>",
"args": ["<arguments>"],
"env": {}
},
"serverId": "<identifier>"
}
Затем эта переданная конфигурация используется MCPJam Inspector для создания и управления новым процессом MCP-сервера. Поскольку endpoint'у не хватает надлежащей аутентификации и средств контроля безопасности, злоумышленник может отправлять произвольные определения процессов, которые будут выполнены службой Inspector.
По своей сути эта уязвимость является проблемой отсутствия аутентификации для критической функции (CWE-306), при которой приложение предоставляет функциональность, предназначенную для доверенных локальных пользователей, и делает её доступной по сети без надлежащих проверок безопасности.
Уязвимость возникает из-за двух ошибок проектирования:
0.0.0.0.Результирующий путь атаки можно представить следующим образом:
Attacker → /api/mcp/connect → Process Creation → Operating System
Поскольку приложение напрямую взаимодействует с созданием процессов операционной системы, успешная эксплуатация может привести к выполнению произвольных команд в контексте безопасности службы MCPJam Inspector.
python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port>
-t (или) --target: URL-адрес цели или IP-адрес цели.-tport (или) --target-port: Порт цели для подключения; в большинстве случаев для MCPJam Inspector это 6274. Не используйте этот аргумент, если MCPJam Inspector размещён в другом месте, например, в субдомене или на виртуальном хосте. Вместо этого используйте аргумент -t, чтобы указать субдомен или виртуальный хост.-lhost (или) --local-host: Публичный IP-адрес, на который reverse shell будет выполнять обратное подключение.-lport (или) --local-port: Порт, который будет использоваться для reverse shell.python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port> -c '<command>'
-c (или) --command: Команда, которая будет выполнена на цели.Перед использованием этой программы необходимо сначала запустить прослушиватель на локальной машине с помощью Netcat.
Для этого используйте следующую команду:
nc -lvnp <port>
Затем выполните указанную выше команду, чтобы получить reverse shell на цели.
Успешная эксплуатация может позволить злоумышленнику:
Уязвимости присвоен показатель CVSS v3.1 — 9.8 (критический) из-за сетевого вектора атаки, отсутствия аутентификации, отсутствия взаимодействия с пользователем и высокого воздействия на конфиденциальность, целостность и доступность.
Немедленно обновитесь до MCPJam Inspector 1.4.3 или более поздней версии. Дополнительные защитные меры включают:
Этот PoC предназначен исключительно для образовательных целей, исследований в области защитной безопасности и авторизованного тестирования безопасности. Его следует использовать только в отношении систем, на которые получено явное разрешение. Несанкционированное использование в отношении сторонних систем может нарушать действующее законодательство и нормативные акты. Владелец этого репозитория не несёт ответственности за любой ущерб, причинённый использованием этой программы.