Критическая уязвимость Signal с оценкой 9,3 по шкале CVSS могла помешать корректно завершить аудио- или видеозвонок. В худшем случае собеседник видел привычное завершение вызова, но его микрофон, а иногда и камера, продолжали работать. Для команд, использующих Signal в рабочих и чувствительных переговорах, вывод предельно прикладной: обновить мобильные и десктопные клиенты, а до этого не обсуждать лишнего сразу после нажатия кнопки завершения.
Проблема получила идентификатор CVE-2026-113380 и затрагивает библиотеку RingRTC во всех версиях до 2.72.0, сообщает The Register. RingRTC — открытая библиотека Signal для звонков, построенная поверх WebRTC. Исправление выпустили в прошлом месяце, однако сведения об уязвимости были опубликованы только 20 октября. В истории релизов Signal Desktop появление RingRTC 2.72.0 датируется сентябрём; точные сроки включения исправленной версии в Android- и iOS-клиенты публично не уточняются.
Причина не в криптографии и не в перехвате трафика. Media-поток в WebRTC шифруется, но это не помогает, если приложение не исполнило команду завершить вызов. В RingRTC управление состоянием звонка завязано на очередь событий конечного автомата — finite state machine, или FSM. Один из участников мог забросать эту очередь запросами, из-за чего она переставала вовремя обрабатывать запрос на отключение. Звонок оказывался в подвешенном состоянии: интерфейс мог сообщить пользователю, что разговор завершён, тогда как медиаканалы ещё не были закрыты.
Для атаки не нужен сложный эксплойт в духе голливудских шпионских триллеров. В описании CVE сложность эксплуатации указана как низкая, а демонстрация концепции показывает принцип на Python: переполненная очередь событий не пропускает команду hangup. При этом злоумышленнику нужно быть участником самого вызова или иметь возможность управлять его событиями; источник не говорит о сценарии, в котором посторонний удалённо включает микрофон любому пользователю Signal.
Именно эта деталь делает уязвимость Signal неприятной для корпоративного использования. Защищённый мессенджер часто выбирают для созвонов с сотрудниками, кандидатами, партнёрами и журналистскими источниками — то есть там, где разговор после формального «пока» порой бывает содержательнее основной части. Пользователь может закрыть окно и начать обсуждать собеседника, проект или коммерческие условия, полагая, что запись уже невозможна. Индикаторы операционной системы и приложения в таком сценарии становятся важнее привычки доверять одной кнопке.
Исправление в RingRTC 2.72.0 меняет саму логику завершения вызова. Судя по сравнению версий, конечный автомат теперь способен обнаруживать запрос на остановку независимо от перегруженной очереди событий. Дополнительно появился тайм-аут: зависшая обработка не должна бесконечно удерживать звонок в активном состоянии. Это хороший пример того, почему безопасность коммуникаций определяется не только стойкостью шифрования. Слабое место может оказаться в очереди, тайм-ауте или обработке исключительной ситуации — там, где продуктовая команда ожидает, что «завершить звонок» всегда остаётся самой простой операцией.
Указаний на эксплуатацию проблемы в реальных атаках пока нет: в каталоге известных эксплуатируемых уязвимостей CISA она не отмечена. Но отсутствие отметки — не индульгенция для старого клиента на ноутбуке, который обновляется раз в сезон. IT-администраторам стоит проверить не только телефоны сотрудников, но и Signal Desktop на рабочих машинах, особенно если обновления приложений управляются политиками или устанавливаются вручную. Разработчикам коммуникационных сервисов история напоминает: команды остановки, отзыв разрешений и переходы в безопасное состояние нельзя ставить в ту же очередь, которую атакующий способен намеренно заблокировать.
Главный открытый вопрос — насколько прозрачно Signal сможет показать пользователю реальный статус медиаканалов после сбоя. Пока надёжнее считать завершение звонка процессом, который требует актуальной версии приложения и нескольких секунд здравого скепсиса. Технические детали и концептуальная демонстрация описаны в материале .

