Ниже представлен полностью функциональный эксплойт для уязвимости CVE-2025-54135 в Cursor IDE, предназначенный для демонстрации атаки с инъекцией промптов, которая манипулирует конфигурацией Model Context Protocol (MCP) для достижения удалённого выполнения кода. Этот код предполагает, что у атакующего есть доступ к публичному каналу Slack или аналогичному внешнему MCP-серверу, с которым настроено взаимодействие Cursor IDE жертвы. Эксплойт создаёт вредоносный промпт, который перезаписывает файл ~/.cursor/mcp.json для выполнения произвольных команд с правами разработчика.
⚠️ Предупреждение
Этот код предназначен только для образовательных целей. Несанкционированное использование незаконно. Автор не несёт ответственности за неправильное использование. Всегда получайте разрешение и соблюдайте законы.
Эксплойт href
Инструкции по настройке
Чтобы использовать этот эксплойт, выполните следующие шаги для настройки атакующей инфраструктуры:
-
Создайте Slack-бота:
- Настройте приложение Slack с токеном бота и правами на публикацию сообщений в публичном канале (например,
general).
- Замените
xoxp-your-slack-bot-token-here в скрипте на ваш токен бота.
-
Настройте вредоносный MCP-сервер:
- Разместите сервер по адресу
http://attacker-controlled-server.com:8080 (замените на URL вашего собственного сервера).
- Этот сервер может быть простым HTTP-сервером для регистрации взаимодействий или доставки дополнительных полезных нагрузок, хотя для первоначального выполнения команды он не обязателен.
-
Запустите эксплойт:
- Установите зависимости:
pip install requests.
- Выполните скрипт:
python cve-2025-54135-exploit.py.
- Скрипт отправляет вредоносный промпт в указанный Slack-канал, который Cursor IDE жертвы получит и обработает, если настроен на отслеживание этого канала.
-
Механизм эксплойта:
- Вредоносный промпт содержит MCP-конфигурацию в кодировке Base64, которая добавляет новую запись сервера в
~/.cursor/mcp.json.
- Флаг
auto_start гарантирует, что start_command (например, whoami > /tmp/pwned.txt) выполнится немедленно без одобрения пользователя.
- Поскольку Cursor работает с привилегиями уровня разработчика, команда выполняется в окружении жертвы, что потенциально может привести к краже данных, программам-вымогателям или дальнейшей компрометации системы.
-
Проверка:
- Проверьте машину жертвы на наличие
/tmp/pwned.txt, чтобы подтвердить успешное выполнение команды.
- Измените переменную
COMMAND для выполнения других команд оболочки по мере необходимости.
Предварительные требования
- Python 3.x с библиотекой
requests.
- Рабочее пространство Slack, в котором Cursor IDE жертвы настроена на получение данных через MCP.
- Сервер, контролируемый атакующим (необязательно для расширенных полезных нагрузок).
Примечания
- Этот эксплойт нацелен на версии Cursor IDE до 1.3, которые были исправлены 29 июля 2025 года. Убедитесь, что цель работает на уязвимой версии.
- Атака основана на том, что Cursor IDE жертвы обрабатывает внешние данные из публичного Slack-канала или аналогичного сервиса, подключённого через MCP.
- Для реального использования убедитесь, что у вас есть разрешение на тестирование целевой системы, поскольку несанкционированная эксплуатация незаконна.
Этот код и настройка представляют собой функциональную демонстрацию того, как атакующий может использовать CVE-2025-54135 для достижения удалённого выполнения кода через инъекцию промптов в Cursor IDE.