Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-52616 — Бюллетень безопасности и безвредный PoC для внедрения команд ОС в nmap MCP-сервере, с отслеживанием дублирующихся CVE, рекомендациями по обнаружению и мерами по устранению уязвимости. | Kitploit
Инструменты/GitHubGitHub/s1ko/cve-2026-52616
Анализ уязвимостейЭксплуатацияСетевая безопасностьБезопасность API
GitHubs1ko/cve-2026-52616

CVE-2026-52616

Бюллетень безопасности и безвредный PoC для внедрения команд ОС в nmap MCP-сервере, с отслеживанием дублирующихся CVE, рекомендациями по обнаружению и мерами по устранению уязвимости.

Репозиторий
1 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-52616 — mcp-nmap-server: внедрение OS-команд через run_nmap_scan

Инструмент MCP run_nmap_scan формирует команду путём строковой интерполяции параметров target и additionalFlags и выполняет её через child_process.exec, т.е. /bin/sh -c.

⚠ Прочтите сначала — дублирующий идентификатор

Эта уязвимость была публично раскрыта ещё до появления данного CVE ID. Она покрывается CVE-2026-3484 / GHSA-xc68-rrqc-qgq3, присвоенным VulDB и опубликованным 2026-03-03 для mcp-nmap-server <= 1.0.1 — тот же пакет, тот же сток CWE-78 child_process.exec.

CVE-2026-52616 был присвоен s1ko организацией MITRE CNA-LR 2026-07-13 в ответ на независимый отчёт. Это присвоение, по-видимому, является дубликатом и помечено как таковое. Существующий ранее идентификатор CVE-2026-3484 — именно тот, на который следует ссылаться.

Этот репозиторий опубликован для полноты и документирования дубликата, а не как заявление о новом открытии. Заслуга в исходном публичном раскрытии принадлежит не s1ko.

Стоит отметить ловушку в именовании для тех, кто проводит дедупликацию: npm-пакет называется mcp-nmap-server, а репозиторий — nmap-mcp-server. Оба порядка слов относятся к одному и тому же проекту.

Threat model

Аргументы инструментов MCP подвержены влиянию атакующего. Они формируются LLM из контента, который обрабатывает агент, — документов, веб-страниц, вывода инструментов, — поэтому непрямая промпт-инъекция даёт атакующему контроль над значениями, которые получает обработчик инструмента. Обработчик, передающий любое из этих значений в shell, превращает это влияние в выполнение кода на хосте, где запущен MCP-сервер. Это та же модель, что и в прецедентном случае aws-mcp-server / CVE-2026-5058.

Execution

dist/index.js — цель добавляется к строке команды, которая затем передаётся в exec:

root@kitploit:~
command += ` ${target}`;
…
const { stdout, stderr } = await promisify(exec)(command);

child_process.exec выполняет свой аргумент через /bin/sh -c, поэтому всё, что внёс вызывающий код, является синтаксисом shell. Схема ввода Zod объявляет z.string(), что проверяет тип и ничего не говорит о содержимом, поэтому метасимволы проходят насквозь. additionalFlags попадает в ту же строку тем же путём.

Вызов run_nmap_scan с target, установленным в 127.0.0.1; touch /tmp/marker; echo INJECTED, приводит к:

root@kitploit:~
/bin/sh -c "nmap … 127.0.0.1; touch /tmp/marker; echo INJECTED"

Reproduction

poc/driver.mjs общается с MCP через stdio: он инициализирует сервер, отправляет один tools/call для run_nmap_scan с внедрённым target и проверяет наличие файла-маркера. Полезная нагрузка — безвредный touch.

root@kitploit:~
npm pack [email protected]
tar xf mcp-nmap-server-1.0.1.tgz && cd package && npm install
node ../poc/driver.mjs

Ожидаемый результат на уязвимой версии:

root@kitploit:~
==== POC RESULT (mcp-nmap-server) ====
marker /tmp/PWNED_nmap created: true
verdict: CONFIRMED — command injection executed

nmap не обязательно должен быть установлен — внедрённая команда выполняется в той же строке /bin/sh -c независимо от того, разрешается ли ведущий бинарный файл. Проверено 2026-06-01 в изолированном контейнере и повторно проверено 2026-06-13. Запускайте его только против инфраструктуры, которую вам разрешено тестировать.

Detection

  • Строка команды nmap, содержащая ;, &&, ||, |, обратный апостроф или $(.
  • Процесс sh -c, чья командная строка начинается с nmap и содержит вторую команду после разделителя — сигнал в дереве процессов (auditd, eBPF, Falco, EDR), который не зависит от журналирования приложения.
  • Неожиданные дочерние процессы MCP-сервера. nmap ожидаем; shell, интерпретатор или сетевой клиент — нет.
  • Журналы вызовов MCP-инструментов, где target или additionalFlags содержат метасимволы shell. target должен соответствовать IP, CIDR или имени хоста и ничему больше.

MITRE ATT&CK T1059.004 Command and Scripting Interpreter: Unix Shell.

Mitigation

Репозиторий архивирован и доступен только для чтения, в npm актуальная версия — уязвимая 1.0.1, и исправленный релиз опубликован не будет. Меры по смягчению последствий — удаление пакета:

  • Прекратите использовать пакет. Он не поддерживается, публично уязвим с марта 2026 года и не будет исправлен.
  • Если его необходимо оставить, запускайте его в контейнере или VM от непривилегированного пользователя, без учётных данных в окружении и без сетевого исходящего трафика за пределами диапазона сканирования, и не предоставляйте его через сетевой транспорт.
  • Оберните или форкните сервер, чтобы проверять target по шаблону IP/CIDR/имени хоста и разрешать additionalFlags по белому списку, прежде чем они попадут в командную строку.

Исправление для тех, кто форкает проект, — вызывать execFile("nmap", [...args]) с вектором аргументов вместо формирования строки для exec. Основное требование — проверка содержимого, а не только проверка типа в Zod.

NIST SP 800-53r5 SI-10; OWASP ASVS v4 §5.3.8; меры по смягчению CWE-78 M1 и M2.

Timeline

References

  • Оригинальный бюллетень — https://github.com/advisories/GHSA-xc68-rrqc-qgq3
  • Оригинальный CVE — https://nvd.nist.gov/vuln/detail/CVE-2026-3484
  • npm-пакет — https://www.npmjs.com/package/mcp-nmap-server
  • Репозиторий (архивирован) — https://github.com/PhialsBasement/nmap-mcp-server
  • Прецедент для модели угроз MCP — CVE-2026-5058 (aws-mcp-server)

Сопутствующие бюллетени из того же цикла исследований: CVE-2026-52617, CVE-2026-52618.

License

MIT — см. LICENSE.

Скачать инструмент
CVECVE-2026-52616 — дубликат CVE-2026-3484
CWECWE-78 (Некорректная нейтрализация специальных элементов, используемых в OS-команде)
Packagemcp-nmap-server (npm)
Affected1.0.1 и более ранние — все опубликованные версии
Fixed inнет — репозиторий архивирован
CVSS v3.1AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 7.8 Высокий (транспорт stdio). AV:N → 9.8 Критический, если сервер обёрнут в сетевой транспорт.
Independently reported bys1ko (github.com/s1ko, [email protected])
CVE assigned2026-07-13, MITRE CNA-LR
ДатаСобытие
2026-03-03CVE-2026-3484 / GHSA-xc68-rrqc-qgq3 опубликован VulDB — исходное публичное раскрытие, другим репортёром
2026-05-29Независимо выявлено при анализе исходного кода опубликованного tarball, без знания о мартовском бюллетене
2026-06-01Динамически проверено через MCP stdio в изолированном контейнере
2026-06-13Дубликат выявлен при предварительной дедупликации перед подачей; подтверждено, что репозиторий архивирован, а частное сообщение об уязвимостях недоступно. Внутренний вердикт: не подавать
2026-07-13MITRE CNA-LR присваивает CVE-2026-52616 несмотря ни на что, указывая s1ko как первооткрывателя
2026-08-22Опубликована эта статья, документирующая дубликат