Уязвимость в API Twitter ставит под угрозу MitM-атак десятки тысяч iOS-приложений

7

Уязвимость в API Twitter ставит под угрозу MitM-атак десятки тысяч iOS-приложений

Уязвимость может быть проэксплуатирована для взлома учетных записей в Twitter и компрометации других приложений.


Сотрудники исследовательского института Фраунгофера (Fraunhofer-Institut für Sichere Informationstechnologie) (Германия) предупредили об уязвимости в старом коде API Twitter, который по-прежнему используется популярными мобильными iOS-приложениями. Уязвимость может быть проэксплуатирована в рамках атак посредника (MitM) для взлома учетных записей Twitter и компрометации других приложений с функцией «войти в систему с помощью Twitter».

Проблема содержится в библиотеке TwitterKit, которая была заменена Twitter около года назад. Проверка 2000 самых популярных немецких мобильных приложений для iOS выявила уязвимый код в 45 из них, затрагивая миллионы пользователей в Германии. По словам исследователей, количество уязвимых приложений в мире может достигать десятков тысяч. К уязвимым приложениям относятся программы для чтения новостей, а также прочие сервисы и приложения, которые позволяют авторизоваться через токен доступа Twitter.

Уязвимость CVE-2019-16263 в выпусках TwitterKit 3.4.2 и ниже для iOS вызвана некорректной проверкой подлинности TSL-сертификата api.twitter.com. Хотя цепочка сертификатов должна содержать один из закрепленных сертификатов, существуют определенные ошибки реализации, такие как отсутствие проверки имени хоста. Для эксплуатации уязвимости злоумышленнику сначала необходимо перехватить контроль над точкой доступа Wi-Fi. Как только жертва войдет в скомпрометированную беспроводную сеть, злоумышленник сможет получить токен Twitter OAuth пользователя.

Twitter отказалась от библиотеки Twitter Kit в октябре 2018 года и попросила разработчиков перейти на альтернативные библиотеки. Тем не менее, компания оставила старый код в своем хранилище на GitHub без предупреждения о его небезопасности. Исследователи сообщили компании об уязвимости в API еще в мае 2019 года. Twitter подтвердила уязвимость, однако выпускать патч для неподдерживаемой библиотеки не стала. Вместо этого компания заменила код API обновленной версией.