Обычный пользователь 1С с минимальными правами при определённых условиях мог запустить произвольные команды операционной системы на корпоративном сервере. Специалисты «ВанСек» обнаружили уязвимость высокой критичности в 1С:Библиотеке стандартных подсистем. Фирма «1С» подтвердила проблему и выпустила исправления после ответственного раскрытия.
1С:Библиотека стандартных подсистем, или БСП, представляет собой набор готовых компонентов для разработки решений на платформе 1С:Предприятие. Библиотека содержит механизмы администрирования информационных баз, управления пользователями и правами доступа, работы с файлами и электронной подписью, журналирования, интеграции с другими системами и выполнения бизнес-процессов.
Разработчики используют БСП как общий технологический фундамент для типовых, отраслевых и заказных конфигураций. Возможности библиотеки применяются в «1С:Управлении торговлей», «1С:Управлении нашей фирмой», «1С:Документообороте», «1С», «1С:Бухгалтерии предприятия», «1С:Зарплате и управлении персоналом», «1С:Комплексной автоматизации», «1С:Рознице» и других решениях.
Перечисленные продукты нельзя автоматически считать уязвимыми. Реальный риск зависит от встроенной версии БСП, подключённых подсистем, доработок конфигурации и доступности проблемной функциональности.
Уязвимость получила 8,8 балла из 10 по шкале CVSS 3.1 и уровень опасности High. Оценка по CVSS 2.0 составила 9 баллов. Атаку можно было проводить через сеть, а эксплуатация не требовала сложных технических условий или участия другого пользователя.
Злоумышленнику не требовались административные права в 1С. При наличии доступа к уязвимой функциональности и возможности выполнять соответствующий клиентский код атаку мог провести обычный пользователь с минимальными привилегиями. Успешная эксплуатация могла привести к полной компрометации конфиденциальности, целостности и доступности системы.
Команды могли выполняться не на компьютере пользователя, а непосредственно на сервере 1С с правами системной учётной записи, под которой работает серверный сервис. Компрометация одной учётной записи могла открыть путь во внутреннюю инфраструктуру организации.
Серверы 1С часто обрабатывают финансовые, кадровые, персональные, договорные и коммерчески значимые сведения. Успешная атака могла привести к получению доступа к данным, изменению или уничтожению учётной информации, остановке важных бизнес-процессов и нарушению доступности сервисов. Злоумышленник также мог закрепиться в системе, перемещаться по внутренней сети и использовать сервер 1С для атак на другие ресурсы организации.
Фирма «1С» устранила проблему в версиях БСП 3.1.11.461, 3.1.12.148 и 3.2.1.356. Владельцам более ранних выпусков соответствующих веток рекомендуется перейти на исправленную или более новую версию.
Проверять необходимо каждую информационную базу и конфигурацию отдельно. Название и версия прикладного решения не позволяют точно определить наличие проблемы, поскольку одинаковые продукты могут содержать разные выпуски БСП из-за установленных обновлений, доработок или частичного переноса компонентов.
Проверка должна охватывать не только рабочие базы, но также тестовые, резервные и разработческие среды. Такие системы часто имеют менее строгие ограничения доступа, но сохраняют подключение к корпоративной инфраструктуре.
Фактическая возможность эксплуатации зависит не только от номера версии БСП. Администраторам также необходимо учитывать подключённые подсистемы, внесённые разработчиками изменения, доступность функциональности из пользовательского контекста, возможность выполнения клиентского кода и доступные пользователям серверные методы.
Более старые ветки БСП требуют отдельного анализа. Отсутствие конкретного выпуска в перечне исправленных версий не подтверждает его безопасность.
Основным способом защиты служит обновление БСП до исправленной или более новой версии. Компенсирующие меры способны снизить риск, но не заменяют установку обновления.
Специалисты «ВанСек» не опубликовали технические детали, способ эксплуатации и демонстрационный код, чтобы не упрощать атаки на организации, которые ещё не успели обновить системы.