TP-Link Kasa: камеры 6 лет отдавали GPS-координаты дома без пароля

TP-Link Kasa: камеры 6 лет отдавали GPS-координаты дома без пароля

Исследователь безопасности Кристофер Чайлдресс (псевдоним BadChemical) опубликовал разбор трёх уязвимостей в домашней камере TP-Link Kasa Spot EC71 с прошивкой 2.3.26. Прошивку он физически считал с чипа SPI-флеш-памяти программатором CH341A, после чего проанализировал сетевой трафик устройства.

Главная находка: один-единственный незашифрованный UDP-пакет с командой {"system":{"get_sysinfo":{}}}, отправленный на порт 9999, возвращает полный JSON-ответ с точными GPS-координатами дома владельца, уникальными аппаратными идентификаторами устройства и полной версией прошивки, без какой-либо авторизации или предварительной настройки. Данные защищены лишь тривиальным XOR-шифром, который анализатор трафика Wireshark читает как открытый текст «из коробки». Координаты берутся с GPS смартфона владельца в момент создания аккаунта, сохраняются в прошивке навсегда и не обновляются автоматически.

Особенность в том, что проблема далеко не новая. Незащищённость этого протокола («умный дом» TP-Link на порту 9999) публично задокументирована ещё в июле 2016 года, тогда компания softScheck описала её на примере умной розетки HS110. В августе 2020 года независимые исследователи показали ровно такую же утечку GPS-координат на другой камере Kasa, модели KC100. TP-Link устранила аналогичную уязвимость в линейке умных розеток в ноябре 2020 года, но не перенесла исправление на камеры, прошивка EC71, собранная в апреле 2024 года, всё ещё содержала ту же дыру.

Помимо утечки координат, исследователь нашёл ещё две проблемы. Во-первых, в прошивке зашит один и тот же для всего модельного ряда RSA-ключ и сертификат (действующая пара, 2048 бит, выпущена в 2021 году и действительна до 2031-го): извлечь приватный ключ можно из флеш-памяти любого экземпляра камеры, и он будет одинаковым для всех устройств этой прошивки. Во-вторых, пароль от облачного аккаунта TP-Link ID хранится в виде несолёного хеша MD5, а email, открытым текстом; такой хеш легко взломать перебором на видеокартах. Поскольку TP-Link ID, единая учётная запись для всей экосистемы вендора (камеры Kasa, умные замки Tapo, mesh-роутеры Deco, коммерческие камеры VIGI и другие), компрометация пароля от одной камеры потенциально открывает доступ ко всем этим устройствам, включая физические замки.

Отдельно отмечен риск вторичного рынка: у камеры, сброшенной до заводских настроек и перепроданной, можно восстановить учётные данные и GPS-координаты предыдущего владельца.

Исследователь уведомил TP-Link 5 января 2026 года по стандартному протоколу координированного раскрытия; процесс занял около полугода и включал сбои в проверке прошивок, из-за которых один тестовый экземпляр камеры оказался безвозвратно испорчен. Все три проблемы устранены в прошивке 2.4.1. TP-Link как назначенный CNA-орган выпустила два идентификатора: CVE-2026-9770 (для ключей и учётных данных) и CVE-2026-13230 (для утечки GPS), присвоив последней CVSS 4.0 5,3 (средняя серьёзность). Исследователь оценивает реальную серьёзность утечки GPS выше, 7,1 по CVSS 4.0, указывая, что точные координаты жилья, чувствительные персональные данные по калифорнийскому закону CCPA, требующие явного согласия пользователя, а собственная политика конфиденциальности TP-Link обещает собирать точные координаты только при включённой функции геозон, притом что координаты на деле собираются и хранятся независимо от того, включена эта функция или нет.

Ключевые факты

  • Один незашифрованный UDP-пакет на порт 9999 без авторизации возвращает точные GPS-координаты дома владельца и аппаратные идентификаторы камеры; защита, тривиальный XOR, который Wireshark декодирует автоматически
  • Уязвимость известна с июля 2016 года (сам протокол) и с августа 2020 года, именно для камер Kasa (модель KC100); TP-Link устранила похожую проблему в умных розетках ещё в 2020-м, но не перенесла исправление на камеры
  • Дополнительно найдены: единый для всей линейки RSA-ключ, извлекаемый из флеш-памяти любой камеры, и хранение пароля TP-Link ID в виде несолёного MD5-хеша с email открытым текстом, риск захвата аккаунта во всей экосистеме вендора (Tapo, Deco, VIGI)
  • Сброшенная до заводских настроек и перепроданная камера позволяет восстановить GPS-координаты и учётные данные предыдущего владельца
  • Все три проблемы закрыты в прошивке 2.4.1 (CVE-2026-9770 и CVE-2026-13230); раскрытие заняло около полугода с 5 января 2026 года и стоило исследователю одного испорченного тестового устройства

Почему это важно

Это не единичный баг, а показательный случай того, как производитель годами точечно латает уязвимости вместо системного пересмотра защиты продуктовой линейки. Один и тот же незащищённый протокол на порту 9999 публично описан с 2016 года, конкретно для камер, с 2020 года, но TP-Link чинила его по одному устройству за раз, а не для всей линейки сразу. В результате точные координаты жилья пользователя, самые чувствительные из возможных персональных данных, годами были доступны любому в локальной сети одним запросом без пароля.

Кому это важно

Прежде всего владельцам камер TP-Link Kasa, особенно модели Spot EC71 на прошивках до 2.4.1. Шире, владельцам любых устройств экосистемы TP-Link ID (умные замки Tapo, mesh-роутеры Deco, коммерческие камеры VIGI, приложение Tether), поскольку найденная проблема с хранением пароля потенциально затрагивает единый аккаунт для всех этих продуктов. Также это важно покупателям бывших в употреблении умных камер и специалистам по безопасности умного дома.

Как это применить

Владельцам камер Kasa стоит проверить и обновить прошивку до версии 2.4.1 или новее. При покупке подержанной камеры Kasa нельзя полагаться на заводской сброс как на полную очистку данных, старые координаты и учётные данные могут сохраниться. Пароль от TP-Link ID имеет смысл сделать уникальным и не использовать его для других сервисов, поскольку он открывает доступ сразу к нескольким категориям устройств. Для устройств умного дома в целом разумно использовать отдельный сегмент сети (VLAN), чтобы посторонний в локальной сети не мог достучаться до подобных портов управления.

Можно ли доверять

Разбор технически подробный: исследователь физически извлёк прошивку с чипа памяти, проанализировал сетевой трафик и подтвердил находки конкретными путями к файлам и структурой протокола. Обе основные уязвимости признаны и устранены самим TP-Link, который выступил как CNA-орган и присвоил находкам официальные идентификаторы CVE, это независимое от автора подтверждение. Заявленная история протокола (документы softScheck 2016 года и независимое исследование 2020 года по камере KC100) проверяема по открытым источникам.

Риски и подводные камни

Практическая опасность утечки GPS-координат ограничена тем, что для отправки запроса на порт 9999 нужен доступ к локальной сети устройства, а не произвольный доступ из интернета. Попытка перехвата трафика между приложением и камерой через ARP-спуфинг не удалась, что говорит в пользу того, что основная связь может идти через облако, а не напрямую, то есть практическая эксплуатируемость извлечённого из памяти RSA-ключа для перехвата живого трафика не подтверждена. Сам TP-Link оценивает утечку GPS как уязвимость средней серьёзности (CVSS 5,3), тогда как исследователь настаивает на более высокой оценке (7,1) из-за реального ущерба приватности при раскрытии точного адреса проживания, эта оценка серьёзности расходится между сторонами.

«Kasa не отслеживает ваше географическое положение, она лишь отправляет базовое уведомление для выполнения ваших автоматических сценариев, когда вы приезжаете домой или уезжаете»

— TP-Link, FAQ по функции геозон Kasa