В Банк данных угроз безопасности информации (BDU) поступила запись об опасной уязвимости в компоненте radare2-mcp. Речь идёт о средстве для интеграции популярного инструмента обратной разработки radare2 с системами, поддерживающими протокол MCP (Model Context Protocol). Уязвимость получила идентификаторы BDU:2026-07861 и CVE-2026-6942. Эксплуатация может позволить злоумышленнику удалённо выполнить произвольный код без какой-либо аутентификации. Базовый уровень опасности по шкале CVSS 3.1 составил 9,8 балла из 10, что классифицируется как критический.
Детали уязвимости
Корень проблемы кроется в функции "r2_cmd_str()". Разработчики не предусмотрели фильтрацию специальных элементов, передаваемых в команду операционной системы. Это означает классическую ошибку типа "внедрение команд" - CWE-78. Иными словами, если атакующий может отправить на MCP-сервер специально сформированный запрос, он получит возможность исполнить любую команду на сервере. Уязвимость затрагивает все версии radare2-mcp до 1.6.0 включительно.
Важно понимать, что radare2-mcp - не самостоятельная программа, а надстройка. Она позволяет связывать radare2 с внешними агентами, например с чат-ботами или системами автоматизации. При этом MCP-сервер может быть выставлен в сеть, и процедура аутентификации по умолчанию не предусмотрена. Уязвимость "r2_cmd_str()" становится входной точкой для удалённой атаки. Поскольку вектор атаки - сетевой (AV:N), сложность эксплуатации низкая (AC:L), а привилегии не требуются (PR:N), злоумышленнику достаточно доступа к порту, на котором запущен сервер.
Согласно данным BDU, на момент публикации записи эксплойт уже существует в открытом доступе. Это существенно повышает риски для владельцев систем, использующих уязвимую версию. При этом производитель уязвимость подтвердил и уже выпустил исправление. Заплатка содержится в коммите от 24 марта 2026 года. Рекомендуется обновиться до версии, где эта ошибка устранена. Полный переход на новую сборку решит проблему.
Стоит отметить, что уязвимость относится к классу программных ошибок кода, а не к конфигурационным недочётам. Разработчики допустили типичную для многих решений оплошность: передачу пользовательского ввода напрямую в командную оболочку без санитации. В редких случаях такие уязвимости могут быть использованы даже без авторизации, что и произошло здесь.
Для специалистов по информационной безопасности radare2-mcp - относительно нишевый инструмент. Однако его часто разворачивают в лабораторных средах, на стендах обратной разработки, а также в конвейерах непрерывной интеграции. Если такой сервер доступен из интернета или даже из внутренней сети без должной изоляции, последствия могут быть печальными. Атакующий, получив контроль над сервером, сможет запускать произвольные команды, устанавливать вредоносное ПО, извлекать данные или использовать узел для дальнейшего продвижения.
По шкале CVSS 2.0 опасность оценена в максимальные 10,0 баллов, что встречается редко. Это говорит о том, что эксплуатация ведёт к полной компрометации конфиденциальности, целостности и доступности системы. Вектор CVSS 4.0 показывает, что атака не затрагивает соседние системы (SC:N, SI:N, SA:N), но на целевом сервере ущерб максимален.
Теперь рассмотрим контекст. Общее число уязвимостей, связанных с внедрением команд, остаётся стабильно высоким. Разработчики часто экономят на защите, особенно в проектах с открытым исходным кодом. radare2 - мощный инструмент, входящий в арсенал многих специалистов по кибербезопасности. Его функциональные модули, в том числе MCP-расширение, разрабатываются энтузиастами и сообществом. Поэтому своевременное обновление здесь критически важно.
Какие практические шаги можно предпринять? Во-первых, проверить версию radare2-mcp в своей инфраструктуре. Если она ниже 1.6.0, следует немедленно обновиться. Во-вторых, ограничить сетевой доступ к MCP-серверу: использовать межсетевые экраны, белые списки IP-адресов, а в идеале вообще не выставлять такой сервер в открытые сети без аутентификации. В-третьих, изучить, есть ли у вас публично доступные экземпляры. Простой запрос к порту может показать, отвечает ли сервер и уязвим ли он.
В целом, эта находка - очередное напоминание о важности принципа наименьших привилегий и фильтрации ввода. Даже в утилитах для обратной разработки ошибки внедрения команд встречаются. Специалисты по безопасности должны регулярно сверять BDU и аналогичные источники, чтобы вовремя реагировать на такие инциденты. Тем более что здесь уязвимость уже подтверждена, исправление выпущено, и остаётся только применить его.
Ссылки
- https://bdu.fstec.ru/vul/2026-07861
- https://www.cve.org/CVERecord?id=CVE-2026-6942
- https://github.com/radareorg/radare2-mcp/commit/482cde6500009112a8bc0b3fa8d2ef6180581ec0
- https://github.com/radareorg/radare2-mcp/issues/45
- https://www.vulncheck.com/advisories/radare2-mcp-os-command-injection-via-shell-metacharacter-bypass