Разработчики открытой платформы LMS (LAN Management System) выпустили серию обновлений, закрывающих три уязвимости в кодовой базе. Две из них - SQL-инъекция и внедрение команд операционной системы - получили рейтинг 8,6 балла по шкале CVSS 4.0, что относит их к категории высокой опасности. Третья проблема, связанная с межсайтовым скриптингом. Всем администраторам, использующим LMS для управления корпоративными или провайдерскими сетями, рекомендовано как можно скорее применить исправления.
Детали узявимостей
Наиболее серьёзная уязвимость затрагивает модуль "tarifflist.php", отвечающий за работу с тарифными планами. Ошибка кроется в недостаточной санитизации массива значений, передаваемых через POST-параметр "tg[]". Разработчик напрямую склеивает элементы массива с помощью функции "implode()" и подставляет их в SQL-запрос. Это позволяет аутентифицированному злоумышленнику через манипуляции с формой отправки данных выполнять произвольные SQL-операторы (классическая Error-Based SQL-инъекция). В случае успешной эксплуатации появляется возможность извлечения конфиденциальных сведений из базы данных - например, логинов, хэшей паролей, финансовых записей и персональных данных абонентов. Уязвимости присвоен идентификатор CVE-2026-40455, исправление содержится в коммите 4cb30a7.
Вторая проблема связана с внедрением команд операционной системы (CVE-2026-40456). В одном из компонентов платформы параметр, содержащий IP-адрес, передаётся в функцию "exec()" без какой-либо проверки. Атакующий, обладающий учётной записью в системе и возможностью влиять на адрес (например, через POST- или GET-запрос), способен выполнить произвольные команды на сервере. Учитывая, что LMS обычно работает от привилегированного пользователя (из-за необходимости управления сетевыми конфигурациями), последствия могут быть катастрофическими: от полного контроля над хостом до компрометации всей управляемой сети. Патч закреплён в коммите 9fcb4de.
Третья уязвимость (CVE-2026-40457) - отражённый межсайтовый скриптинг (XSS). Она присутствует в двух модулях: "dbrecover.php" и "netremap.php". В них неэкранированные GET-параметры напрямую вставляются в HTML-код страниц без какого-либо обезвреживания. Чтобы атака сработала, необходимо, чтобы аутентифицированный администратор перешёл по специально сформированной ссылке, а в системе должна быть хотя бы одна определённая сеть (что является обычной ситуацией). После клика внедрённый JavaScript-код может быть выполнен в контексте сессии жертвы, что позволит злоумышленнику, например, изменить настройки, создать новых пользователей или перенаправить трафик. Несмотря на низкий балл CVSS из-за высокой сложности атаки (требуется вовлечённость администратора), при целенаправленной фишинговой рассылке уязвимость может быть использована. Исправление включено в коммит 9c5651b.
Система LMS широко применяется интернет-провайдерами и корпоративными администраторами для управления абонентской базой, биллингом, DHCP, DNS и файрволами. Компрометация такой системы может привести не только к утечке персональных данных, но и к нарушению функционирования сети или её блокировке. Высокие оценки по шкале CVSS подчёркивают потенциальную серьёзность последствий, особенно в случае с выполнением команд ОС.
В официальном бюллетене безопасности разработчики отметили, что все три уязвимости были обнаружены в ходе внутреннего аудита кода и не сообщается об их эксплуатации в реальных атаках до выхода патча. Тем не менее администраторам рекомендуется не откладывать обновление. Помимо установки указанных коммитов, в качестве временной меры защиты можно ограничить доступ к веб-интерфейсу LMS по IP-адресам доверенных сетей или разместить систему за VPN-шлюзом, что снизит поверхность атаки. Также стоит проверить настройки веб-сервера на предмет возможного отключения "exec()" через директиву "disable_functions" в PHP, если выполнение внешних команд не критично для работы.
Тенденция к обнаружению SQL-инъекций и OS-инъекций в открытых системах управления сетями сохраняется на протяжении последних лет. В большинстве случаев корень проблемы - отсутствие строгой валидации ввода при работе с унаследованным кодом. Разработчикам LMS стоит рассмотреть внедрение автоматизированного анализа кода с акцентом на некорректное использование функций "exec()", "system()" и конкатенацию запросов. Для пользователей же главным правилом остаётся своевременная установка патчей и ограничение доступа к административным интерфейсам.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-40455
- https://www.cve.org/CVERecord?id=CVE-2026-40456
- https://www.cve.org/CVERecord?id=CVE-2026-40457
- https://github.com/chilek/lms/commit/4cb30a70e7e3d8a0ea53afa2dbef19d5243d449b
- https://github.com/chilek/lms/commit/9fcb4de19b7d76394898dbc124252b86b07ac0ed
- https://github.com/chilek/lms/commit/9c5651b39bfd086cc34fc9a78ddaa8c0815af114