Уязвимость CVE-2026-113380 в библиотеке RingRTC версий до 2.72.0 оставляет открытым аудиоканал вызова после того, как пользователь нажал завершение. Оценка по CVSS 4.0 составляет 9.3 из 10. RingRTC - открытая библиотека, на которой работают голосовые и видеозвонки Signal в приложениях для Android, iOS и настольных систем. Проблема затрагивает любой клиент, который несёт в себе старую сборку библиотеки, включая сторонние приложения, встраивающие RingRTC.
CVE-2026-113380 и переполнение очереди событий вызова
Завершение разговора в уязвимой схеме не разрывает передачу сразу. Команда встаёт в очередь событий конечного автомата (FSM, модель, которая обрабатывает состояния вызова по одному), причём в конец очереди. Собеседник может засыпать эту очередь своими событиями без ограничения частоты. В результате команда завершения ждёт обработки, а микрофон и аудиодорожка остаются активными.
Ограничения на поток событий от удалённой стороны в уязвимых сборках нет, приоритетного прохода для команды завершения тоже. Собеседнику достаточно начать обычный звонок и переполнить очередь служебными сообщениями. Тогда звук из помещения продолжает уходить на его сторону, хотя пользователь считает разговор законченным. Описание уязвимости упоминает и возможное сохранение видеодорожки, однако подтверждения этому нет. Как долго длится передача и что видит пользователь на экране, в описании не раскрыто.
Вектор атаки - сетевой: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N. Аутентификация не требуется, сложность низкая, от пользователя нужно одно действие - завершить звонок. Сведений об эксплуатации в реальных атаках нет. К шифрованию уязвимость отношения не имеет: разговор защищён и после завершения, проблема в том, что канал не закрывается. Пароли, учётные записи и история сообщений не скомпрометированы, поэтому сброс пароля не нужен.
Разработчики исправили обработку очереди в RingRTC 2.72.0. Критические события теперь обходят очередь, а события от собеседника проходят через ограничение частоты. Исправление поставляется вместе с библиотекой, поэтому обновлять нужно приложение Signal из магазина. Публично подтверждённых номеров затронутых и первых исправленных версий приложения в проверенных источниках нет. В Google Play доступна сборка 8.32.2 для Android; на iPad указана версия 8.32 (1910). Сведений о более ранних уязвимостях этого механизма в RingRTC в проверенных источниках также нет.
Обновление из магазина приложений закрывает проблему на стороне клиента. До установки сборки с RingRTC 2.72.0 или новее остаётся проверять после звонка, погас ли индикатор вызова, прежде чем продолжать разговор в помещении. Разработчикам приложений на RingRTC важно не смешивать управляющие события с недоверенным вводом: командам завершения нужен отдельный приоритет, событиям собеседника - ограничение частоты.
Оценка 9.3 при сетевом векторе и отсутствии привилегий ставит CVE-2026-113380 в верхнюю часть шкалы. Условие эксплуатации - участие в звонке, зато последствие незаметно: собеседник слушает помещение после того, как разговор закончен. RingRTC 2.72.0 закрывает проблему, и доставка этой версии зависит от обновления самого приложения Signal.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-113380
- https://app.opencve.io/cve/CVE-2026-113380
- https://github.com/Imahian/Notes/tree/main/docs/CVEs/CVE-2026-113380
- https://github.com/signalapp/ringrtc/compare/v2.71.0...v2.72.0
- https://github.com/signalapp/ringrtc/commit/4b1b6fa53c9f30c87c8ea78e44675d4a13e1e4d3