Домашние маршрутизаторы производства компании TP-Link содержат опасную уязвимость, которая предоставляет возможность атакующему, находящемуся в той же сети, выполнить произвольные команды с правами суперпользователя. По словам разработчика Google Мэттью Гэррэтта (Matthew Garrett), проблема затрагивает устройства модели TP-Link SR20, но не исключено, что уязвимыми могут быть и другие продукты TP-Link.
Уязвимость связана с использованием процесса «tddp» (TP-Link Device Debug Protocol), работающего с правами суперпользователя, пояснил Гэррэтт. TDDP позволяет выполнять два типа команд: для команд 1 типа авторизация не требуется, для команд 2 типа нужен пароль администратора.
Уязвимые маршрутизаторы раскрывают ряд команд 1 типа, в том числе «command 0x1f, request 0x01» (по всей видимости служит для проверки конфигурации), позволяя атакующему отправлять команды, содержащие имя файла, двоеточие и аргумент для инициирования процесса эксплуатации. Получив команду, устройство отправляет ответ по протоколу TFTP (Trivial File Transfer Protocol), запрашивает имя файла, импортирует его в интерпретатор Lua, работающий с правами суперпользователя, и отправляет аргумент функции config_test() в импортированном файле. Далее с помощью os.execute() атакующий может выполнить любую команду с правами суперпользователя и полностью перехватить контроль над маршрутизатором.
Гэррэтт проинформировал производителя об уязвимости, однако компания не отреагировала на его сообщения. В результате спустя 90 дней эксперт обнародовал информацию о проблеме, а также PoC-код для демонстрации процесса ее эксплуатации. Отметим, что в последний раз обновление прошивки для SR20 компания TP-Link выпустила еще в июне 2018 года.