Разработчики iTerm2, популярной замены стандартного терминала, выпустили обновление и извинились за то, что их приложение ставило под угрозу данные пользователей. Версия 3.1.1 отключает функцию, появившуюся еще в iTerm 3.0.0 и ранее включенную по умолчанию. Функцию можно обнаружить в настройках, это «Perform DNS lookups to check if URLs are valid?».

Представленная в версии 3.0.0 функция следила за движениями мыши в iTerm2. Если пользователь останавливал курсор над каким-то словом, iTerm2 проверял, не является ли оно URL-адресом (в случае положительного ответа ссылка подсвечивалась как кликабельная). Чтобы избежать создания «мертвых» ссылок и других проблем, разработчики решили положиться не на какой-либо алгоритм, а на простые DNS-запросы, при помощи которых iTerm2 проверял, существует ли домен в действительности.

Такое поведение iTerm2 является огромной угрозой безопасности. Дело в том, что пользователь может остановить свой курсор на паролях, ключах API, именах пользователей и других приватных данных, которые в итоге «утекут» вовне через DNS-запрос. Напомню, что DNS-запросы, по сути, представляют собой обычный текст, и перехватить их может кто угодно.

Версия iTerm2 3.0.0 вышла еще в июле 2016 года, то есть более года множество пользователей разглашали собственные данные, даже не подозревая об этом. Причем впервые на утечку обратили внимание еще десять месяцев тому назад, но тогда разработчики iTerm2 ограничились тем, что выпустили версию 3.0.13, которая позволяла отключить данную функциональность. При этом она все равно была активна по умолчанию для всех новых и уже существующих установок.

Повторно на проблему обратил внимание инженер PowerDNS Питер ван Дейк (Peter van Dijk), который создал баг-репорт, в котором указал, что «iTerm открытым текстом передает различные данные (включая пароли) на DNS-сервер моего провайдера». На этот раз создатели iTerm2 осознали всю глубину проблемы, после чего была выпущена версия 3.1.1, отключающая опасную функциональность вовсе.

«Мне нет прощения, я попросту не разобрался в этой проблеме как следует. Я приношу извинения за этот недосмотр и обещаю быть осторожнее в будущем», — пишет один из разработчиков iTerm2.

Стоит отметить, что проблема была чревата не только утечкой данных. Изначально обнаруживший баг пользователь ewaher писал, что отправка DNS-запросов может быть очень опасна для ИБ-исследователей. Если изучая малварь, такой специалист нечаянно наведет курсор в iTerm на URL, связанный с инфраструктурой преступников, он фактически оповестит их о себе и выдаст свое присутствие, так как злоумышленники зачастую отслеживают такую активность.

Всем пользователям iTerm, начиная от версии 3.0.0 и до версии 3.0.12, рекомендуется обновиться хотя бы до 3.0.13, где есть возможность отключения функции в настройках: Preferences > Advanced > Semantic History.



2 комментария

  1. Gen

    21.09.2017 at 11:25

    Почему сразу не разобрались в проблеме глубже… Избежали бы такого «недосмотра»

Оставить мнение