Siemens выпустила уведомление о нескольких уязвимостях в RUGGEDCOM CROSSBOW, комплексе для управления устройствами на подстанциях. Часть проблем позволяет выполнять произвольные команды SQL в базе данных системы. Другие дают возможность обходить проверку прав, читать служебные настройки и прерывать сеансы других пользователей. Уязвимыми Siemens признала версии ниже 6.0, исправление вышло в версии 6.0.
Внедрение SQL-кода в формах и обход проверок прав
Большая часть проблем относится к внедрению SQL-кода, то есть к подстановке данных в команду базы. Система не проверяет входные данные в нескольких местах: имена объектов при массовом импорте и экспорте, значение условия в профиле оповещений, имя файла прошивки при загрузке, названия и значения пользовательских меток. В результате пользователь с определёнными правами выполняет в базе произвольную команду. Наивысшая оценка среди этих проблем - 8.8 из 10, уровень High; атака идёт по сети, учётная запись нужна, участие пользователя не требуется.
Отдельный случай - SQL-инъекция в названиях и значениях пользовательских меток для файлов. Здесь нужны права администратора и локальный доступ к системе. Поэтому оценка ниже: 6.7 из 10, уровень Medium. Успешная эксплуатация даёт тот же результат - выполнение произвольных команд в базе.
Остальные уязвимости связаны с проверкой прав доступа. Система не ограничивает доступ к части запросов к базе, поэтому пользователь может получить учётные данные администратора для внутренних систем и сведения обо всех устройствах, подстанциях и запланированных действиях. Кроме того, он может читать, менять и удалять настройки подсетей. Все эти проблемы Siemens относит к уровню Medium; атака идёт по сети, нужна учётная запись, участие пользователя не требуется.
Несколько проблем касаются действий, которые система разрешает без проверки на сервере. Пользователь с минимальными правами может отключить активные сеансы других сотрудников, включая администраторов, и вызвать отказ в обслуживании. Той же возможностью он может запланировать операции на устройствах, а затем повторять, останавливать или удалять задания. Уровень здесь тоже Medium.
Исправление вышло в версии 6.0. Siemens рекомендует обновиться до 6.0 или более поздней версии; отдельной заплаты для более ранних версий вендор не выпустил. Обходных мер для самих уязвимостей вендор не называет, поэтому обновление остаётся единственным способом их закрыть. В уведомлении не указано, какие функции можно отключить, чтобы снизить риск до установки патча.
Проверить нужно все экземпляры CROSSBOW с номером версии ниже 6.0, включая тестовые и резервные установки. Дополнительно Siemens советует ограничить сетевой доступ к устройствам и настраивать среду по своим рекомендациям по промышленной безопасности. CISA (агентство США по кибербезопасности и защите инфраструктуры), перепечатавшее уведомление Siemens ProductCERT SSA-508506, предлагает не выставлять такие системы в интернет. Их ставят за межсетевой экран и отделяют от корпоративной сети, а для удалённого доступа используют VPN (виртуальная частная сеть) с актуальной версией клиента.
Сведений об эксплуатации этих уязвимостей в реальных атаках в уведомлении нет: публикация раскрывает технические детали, но не сообщает о случаях атак. Так же в нём нет данных об эксплойтах в открытом доступе. Уязвимости затрагивают инфраструктуру энергетики, транспорта и промышленности, где CROSSBOW применяют по всему миру. Поэтому обновление до версии 6.0 лучше провести в плановом порядке, не дожидаясь сообщений об атаках.