Thunderbird допускает утечку учётных данных NTLM и раскрытие содержимого писем

Thunderbird

Thunderbird содержит несколько уязвимостей, из-за которых письмо от постороннего человека оборачивается утечкой учётных данных Windows или отправкой чужой переписки. Mozilla выпустила уведомления с исправлениями и указала уровень воздействия как высокий. Проблемы затрагивают и собственные модули почтового клиента, и общие с Firefox компоненты движка. Исправления вошли в Thunderbird 153.6 и Thunderbird 159.

Что исправлено в Thunderbird 153.6 и 159

Оценки CVSS в уведомлениях нет: Mozilla ограничилась уровнем воздействия high, то есть высоким. Многие из перечисленных проблем - ошибки работы с памятью в компонентах движка. Сюда входят обращения к освобождённой памяти (use-after-free), неверные указатели, целочисленные переполнения и выходы из песочницы (изолированной среды). Через электронное письмо такие ошибки обычно не срабатывают: при чтении почты скрипты в Thunderbird отключены.

Риск возникает в браузерных контекстах - во вкладках, во встроенном просмотре и в других местах, где движок обрабатывает активное содержимое. Условия эксплуатации этих ошибок Mozilla не раскрывает: в уведомлении указаны только компонент и номер ошибки в трекере.

Проблемы в собственных модулях Thunderbird

Самая заметная из них, CVE-2026-118174, связана с вложениями ключей OpenPGP (формат ключей и шифрованной почты). Показывая письмо с таким вложением, Thunderbird сам подгружает его содержимое, чтобы предложить импорт ключа. Отправитель может пометить вложение как внешнее и указать в нём произвольный адрес.

Клиент загрузит этот адрес без единого действия пользователя и в обход блокировки удалённого содержимого, которая не даёт письмам подтягивать внешние ресурсы. Атака идёт по сети, учётные данные не нужны, участие пользователя не требуется - достаточно, чтобы письмо открылось. На Windows ссылка на сетевой ресурс атакующего приводит к утечке учётных данных NTLM (протокол проверки подлинности Windows). На других системах дело ограничивается сетевым запросом в обход блокировки.

Похожий механизм работает ещё в ряде мест. Проверку, которая запрещает ссылкам mailbox: обращаться к сетевым ресурсам Windows, можно обойти путями UNC увеличенной длины. Открытие специально составленного письма заставляет клиент подключиться к подконтрольному атакующему серверу SMB (протокол доступа к сетевым файлам) и выдать имя учётной записи Windows вместе с данными аутентификации NTLM. Такая добыча годится для офлайнового подбора пароля или ретрансляции аутентификации. Затронуты только сборки Thunderbird для Windows.

Календари добавили ещё один путь. При поиске календарей на сервере, при настройке учётной записи или добавлении сетевого календаря клиент принимал адреса, указывающие на другие серверы, локальные файлы и сетевые ресурсы. Вредоносный сервер или сетевой атакующий при работе по открытому HTTP мог подсунуть такое расположение. На Windows это грозило утечкой NTLM при каждом обновлении календаря, а изменения календаря могли записаться на ресурс атакующего или перезаписать локальный файл.

Лента RSS умела через служебный элемент навсегда переписать собственный адрес подписки на локальный файл, и клиент читал этот путь при каждом обновлении. Вредоносная лента или тот, кто правит ленту, отдаваемую по HTTP, добивался чтения локальных файлов, а на Windows - подключения к сетевому ресурсу атакующего с той же утечкой NTLM. На других системах остаётся только чтение файлов.

Схожая история с Matrix (протокол обмена сообщениями). При входе в учётную запись клиент брал адрес домашнего сервера из ответа сервера и не проверял его. Подконтрольный сервер мог подставить локальный файл или сетевой ресурс и увести туда все дальнейшие запросы сеанса, а на Windows - снова раскрыть NTLM.

Ссылка news: или snews: с идентификатором сообщения заставляла Thunderbird без спроса подключаться к указанным в ней хосту и порту, даже если это не настроенный сервер новостей. Переводы строк в идентификаторе уходили на сервер без изменений, поэтому ссылка могла отправить произвольные команды в службы, доступные из сети пользователя. Для snews: соединение шло без TLS (шифрования транспортного уровня).

Раскрытие писем и разбор вложений

Отдельная проблема касается ответа на письмо. При ответе, пересылке или редактировании составленного письма как нового Thunderbird мог вставить в готовящийся текст части другого письма из той же папки. Предупреждение о заблокированном содержимом при этом не показывалось. Если пользователь отправлял письмо, чужая переписка уходила получателям. Чтобы это сработало, отправителю достаточно прислать специально составленное письмо, а получателю - ответить на него.

Проблемы нашлись и в разборе почты. В библиотеке libmime (модуль разбора почтовых сообщений) арифметика размеров при росте буфера велась в 32-битных типах без проверки переполнения. На достаточно большом письме проверка не срабатывала, буфер перевыделялся меньшего размера, и копирование записывало данные атакующего в соседние области памяти. Похожая по последствиям ошибка возникает при расшифровке S/MIME (шифрование почты сертификатами). Если запрос пароля защитного устройства (PIN смарт-карты или мастер-пароль) оставался открытым, загрузка письма могла завершиться или отмениться. Тогда декодер освобождался, продолжая использоваться, что давало обращение к освобождённой памяти и аварийное завершение.

Исправления вышли в Thunderbird 153.6 и Thunderbird 159. Часть проблем затронула обе ветки - это сюжеты с OpenPGP, календарями, RSS, Matrix и ссылками news. В записях CVE отмечено, что те же ошибки движка закрыты в Firefox 159 и Firefox ESR 153.6, а для ряда из них - и в Firefox ESR 115.44. Сведений об эксплуатации этих уязвимостей в реальных атаках уведомления не содержат. Публикация уведомления означает доступность деталей исправления, а не то, что проблемы уже используют. Обходных мер Mozilla не называет, поэтому остаётся обновление до 153.6 или 159.

Практический вес выше у проблем с NTLM: они не требуют ни клика, ни ввода данных, а на выходе дают материал для подбора пароля или ретрансляции аутентификации. Ошибки памяти в движке опаснее в браузерных сценариях, чем при обычном чтении почты.

Ссылки

Комментарии: 0