Уязвимость в Signal оставляла микрофон и камеру активными после завершения разговора

1 час назад 3
  • Годовая подписка на Xakep.ru

    Все статьи, PDF-архив, скидки и другие бонусы

    6000₽ в год

    Подписаться
  • Ежеквартальный «Хакер» #4

    Печатный выпуск за август–ноябрь 2026 года

    2000₽

    Заказать
  • Ежеквартальный «Хакер» #3

    Печатный выпуск за май–июль 2026 года

    2000₽

    Заказать
  • Спецвыпуск «Хакера» #4

    Избранные материалы 2021–2022 годов на бумаге

    2000₽

    Заказать

В библиотеке RingRTC, которую мессенджер Signal использует для голосовых и видеозвонков, исправили критическую уязвимость. Из-за бага звонок мог не завершиться корректно, в результате чего микрофон или камера устройства продолжали работать даже после попытки повесить трубку.

Уязвимость получила идентификатор CVE-2026-113380  (9,3 балла по шкале CVSS) и затрагивала все версии опенсорсной библиотеки RingRTC вплоть до 2.72.0. Исправление вышло еще в сентябре 2026 года, однако информацию о самом баге раскрыли только сейчас.

RingRTC — собственная библиотека Signal, построенная поверх WebRTC и предназначенная для работы со звонками. В основе RingRTC лежит конечный автомат (finite state machine, FSM), очередь которого обрабатывает события, связанные с вызовом. Как оказалось, если один из участников звонка засыпает эту очередь запросами, она может переполниться и перестанет своевременно обрабатывать новые события. В частности, запрос на завершение звонка может «застрять» в очереди и не выполниться.

В результате пользователь может считать разговор завершенным, но на самом деле аудио- или видеоканал по-прежнему остается активным. То есть атакующий потенциально может продолжать слышать происходящее рядом с устройством жертвы или получать изображение с камеры.

Исследователь, обнаруживший уязвимость, опубликовал PoC-скрипт на Python, демонстрирующий механизм эксплуатации уязвимости.

В RingRTC версии 2.72.0 разработчики изменили логику завершения звонка: теперь запрос на отключение обрабатывается независимо от основной очереди событий FSM. Также в новой версии появился тайм-аут, который не позволяет зависшей обработке событий бесконечно блокировать завершение звонка.

Известно, что клиент Signal Desktop получил обновленную версию RingRTC 2.72.0 еще в сентябре, однако неясно, когда исправленная библиотека появилась в версиях мессенджера для Android и iOS.

Источник