С релизом версии 4.47.7 разработчики Signal для Android устранили в мессенджере баг, который во многом похож на уязвимость, найденную в FaceTime в начале текущего года. Напомню, что баг, из-за которого Apple была вынуждена экстренно отключить групповые звонки FaceTime, позволял звонящему получить доступ к чужим микрофону и камере, даже если на звонок вообще не ответили. Фактически уязвимость могла использоваться для подслушивания пользователей без их ведома.
Теперь практически аналогичная проблема (CVE-2019-17191) была обнаружена в Signal для Android, но распространялась она только на голосовые вызовы, не затрагивая видеозвонки (так как камеру каждый раз нужно включать вручную). Уязвимость выявила специалистка Google Project Zero Натали Сильванович (Natalie Silvanovich). Она пишет, что аналогичная логическая ошибке присутствует и в клиенте для iOS, но в этом случае вызов не удается осуществить из-за ошибки в UI.
В случае Android атакующий мог использовать модифицированную версию приложения Signal, чтобы инициировать вызов, а затем нажать на собственную кнопку «Mute», чтобы принять текущий вызов на стороне вызываемого абонента. Если злоумышленники успевает быстро нажать на кнопку отключения звука, атака может остаться почти незамеченной, так как это поможет избежать длинного звонка, который может оповестить жертву о происходящем.
Впрочем, разработчики отмечают, что пользователь в любом случае мог увидеть видимые признаки того, что звонок был совершен, например, в верхней части списка завершенных вызовов останется запись о выполненном вызове, а непосредственно во время звонка на экране будет видно, что осуществляется вызов.