Исследователи обнаружили критическую уязвимость в популярном сервере tac_plus, который обслуживает протокол TACACS+ и централизованно проверяет доступ администраторов к маршрутизаторам, коммутаторам и другому сетевому оборудованию. Ошибка позволяет добиться удалённого выполнения кода ещё до проверки логина и пароля, а tac_plus в стандартной конфигурации запускается с правами root. Исправление уже вышло, но архивный форк Facebook остаётся уязвимым.
Проблема находится не в самом протоколе TACACS+, а в старом коде сервера tac_plus, который восходит к открытому Developer's Kit Cisco середины 1990-х годов. TACACS+ работает поверх TCP, обычно на порту 49, и объединяет три функции AAA. Сервер подтверждает личность администратора, определяет разрешённые действия и записывает выполненные команды. Компрометация такого узла особенно опасна, поскольку через него может проходить управление большим числом сетевых устройств.
Ошибка относится к классу уязвимостей форматной строки. tac_plus помещает полученное от клиента поле port в сообщение об ошибке, после чего передаёт собранную строку функции логирования как управляющий формат, а не как обычные данные. Специальные последовательности внутри входных данных могут заставить процесс читать или изменять память и в итоге выполнить посторонний код.
Для попадания в уязвимый участок достаточно двух TACACS+ пакетов. Первый корректный запрос AUTHEN/START сохраняет контролируемые данные, второй намеренно повреждённый пакет переводит сервер на ошибочный путь обработки. Проверка имени пользователя и пароля к этому моменту ещё не проводилась.
При этом исследователи не утверждают, что любой доступ к TCP/49 автоматически приводит к взлому. Если между клиентом и сервером настроен длинный случайный общий секрет, злоумышленнику требуется получить или подобрать его. Elttam оценила тяжесть уязвимости в 9,8 балла CVSS при отсутствии эффективного секрета или при слабом ключе и в 8,1 балла при длинном случайном ключе. Такие оценки принадлежат исследователям и пока не являются официальной оценкой CVE.
Слабая криптографическая защита старого TACACS+ заметно ухудшает ситуацию. Исследователи показали, что сервер способен вернуть до аутентификации заранее предсказуемое сообщение, преобразованное с помощью общего секрета. Получив один такой ответ, атакующий может проверять варианты слабого ключа локально, не отправляя каждый пароль серверу. Сам механизм защиты TACACS+ давно считается недостаточным и в декабре 2025 года IETF определила TLS 1.3 как современный транспорт для протокола, отказавшись от старой схемы обфускации.
Elttam проверила ещё один сценарий, при котором вредоносные данные передаются TACACS+ серверу через доверенное сетевое устройство. Исследователи смогли воспроизвести поведение в лаборатории с чрезмерно длинным именем пользователя, но не проверяли цепочку на серийном оборудовании разных производителей. Поэтому возможность атаковать сервер через доступную из интернета форму входа зависит от конкретной реализации TACACS+ клиента и пока не должна считаться универсальным способом эксплуатации.
Уязвимый код присутствует в версиях Shrubbery Networks tac_plus вплоть до F4.0.4.31 включительно. 21 сентября разработчики выпустили F4.0.4.32, где исправили обе найденные ошибки форматной строки. Форк Facebook F4.0.4.28-7fb также содержит основной уязвимый участок, однако его репозиторий был архивирован в августе 2025 года и обновления для него не ожидаются. Elttam также предупреждает о неизвестном числе производных сборок и встроенных версий, основанных на старом коде Cisco.
Cisco PSIRT сообщил исследователям, что современные продукты Cisco не используют уязвимые версии кода и не затронуты найденной проблемой. CVE на момент публикации ещё не присвоен. Публичных подтверждений эксплуатации именно новой уязвимости в реальных атаках также нет.
Интерес злоумышленников к инфраструктуре TACACS+ при этом давно вышел за пределы теории. Связанные с Китаем операторы Salt Typhoon перехватывали TACACS+ трафик на скомпрометированных маршрутизаторах, извлекали общие секреты из конфигураций и меняли параметры AAA для дальнейшего перемещения по сетям. Те атаки не использовали новую уязвимость tac_plus, но показывают ценность централизованных систем аутентификации для кибершпионажа.
В августе 2026 года исследователи также описали кампанию Fire Ant, участники которой уже проникали непосредственно в процессы tac_plus. Вредоносный набор TacTap внедрял библиотеку в сервер, перехватывал сеансы аутентификации и собирал учётные данные администраторов. Связи между Fire Ant, Salt Typhoon и новой ошибкой tac_plus исследователи не установили.
Администраторам Shrubbery tac_plus рекомендуется перейти на F4.0.4.32. Для архивного форка Facebook и других производных сборок потребуется самостоятельное исправление или переход на поддерживаемую реализацию. До обновления исследователи советуют разрешить доступ к TCP/49 только доверенным адресам сетевого оборудования и использовать длинный случайный уникальный общий секрет. В долгосрочной перспективе безопаснее переходить на TACACS+ поверх TLS 1.3, поскольку старый механизм защиты трафика больше не соответствует современным требованиям безопасности.