Отчёт о критической уязвимости: клиент Discord для macOS
Дата: 2026-01-25
Цель: клиент Discord (macOS Stable 0.0.373)
Автор: Antigravity
🚨 Краткий обзор
Мы выявили критическую уязвимость безопасности в клиенте Discord для macOS (на базе Electron), связанную с принудительным открытием порта удалённой отладки (9222) через локальную конфигурацию или флаги командной строки. Это позволяет локальному злоумышленнику полностью обойти аутентификацию (2FA, пароль) и получить контекст удалённого выполнения кода (RCE) внутри клиента.
Проверка статуса CVE
- Отдельный вектор: Эта уязвимость отличается от ранее сообщённой CVE-2024-23739 (RunAsNode RCE).
- Статус Zero-Day: На данный момент для "Remote Debugging Port Exposure" в Discord macOS не присвоен CVE. Это классифицируется как конфигурационная уязвимость Zero-Day (или неисправленный N-Day).
- Новая модель угроз: Хотя инъекция в
settings.json является известным методом, демонстрация возможностей распространения червя и шпионского ПО в реальном времени повышает это до уровня критического риска безопасности.
💥 Сценарии эксплуатации (анализ воздействия)
1. Захват учётной записи без взаимодействия (Zero-Click ATO)
- Механизм: Вызов
getToken() через консоль отладки для извлечения незашифрованного пользовательского токена.
- Воздействие: Злоумышленник получает немедленный доступ к учётной записи из любого места, обходя требования пароля и 2FA.
2. Шпионское ПО в реальном времени (подтверждено)
- Механизм: Использование
Network.enable и доступа к DOM через порт отладки для перехвата всего отображаемого текста и WebSocket-трафика.
- Подтверждённый PoC: Скрипт
discord_spyware_v2.py успешно извлекал список личных сообщений и список серверов жертвы (например, "White Hat Community", "LGU+ Security Hackathon") в виде открытого текста в реальном времени.
- Доказательство: Смотрите
proof_spyware.png (вывод терминала, отображающий извлечённый приватный текст интерфейса).
- Воздействие: Полная потеря конфиденциальности. Злоумышленники могут незаметно отслеживать приватные разговоры и скрытые каналы.
3. Автоматическое распространение червя
- Механизм: Управление полем ввода чата (Textarea) через манипуляции с DOM для автоматической отправки вредоносных ссылок всем друзьям и участникам серверов.
- Воздействие: Потенциально массовое вирусное распространение вредоносного ПО, использующее доверие жертвы.
4. Невидимая персистентность (бэкдор)
- Механизм: Изменение
settings.json для постоянного включения порта отладки при каждом запуске приложения.
- Воздействие: Бэкдор остаётся активным бессрочно, не вызывая срабатывания антивирусного ПО, поскольку использует легитимные флаги Discord.
🛠️ Proof of Concept (техническая проверка)
Уязвимость была подтверждена следующими шагами:
- Эксплуатация: Запуск Discord с флагом
--remote-debugging-port=9222.
- Доступ: Подключение к локальному URL WebSocket-отладчика.
- Выполнение: Внедрение
alert("GOD MODE ACTIVE") для заморозки интерфейса (дефейс экрана) и выполнение discord_spyware_v2.py для дампа содержимого экрана.
🛡️ Устранение уязвимости
- Отключение флагов отладки: В производственных сборках следует явно игнорировать опасные параметры командной строки, такие как
--remote-debugging-port. (Отключить в electron.main).
- Проверки целостности: Критические файлы конфигурации, такие как
settings.json, должны быть подписаны (HMAC) или зашифрованы для предотвращения внешнего вмешательства.