Исправления безопасности выпускаются для последней опубликованной версии. Установленные копии получают их через автообновление.
| Версия | Поддерживается |
|---|---|
| последний выпуск | ✓ |
| более ранние | — |
Не создавайте открытую задачу (Issue) — до выхода исправления описание уязвимости не должно быть публичным.
Сообщите о ней закрыто через GitHub: Security → Report a vulnerability.
Опишите:
- что именно уязвимо и к чему это может привести;
- шаги воспроизведения или пример (файл проекта, скрипт, кадр Modbus);
- версию программы и способ установки.
Получение сообщения будет подтверждено в течение 7 дней. После проверки согласуем срок исправления; автор сообщения будет указан в описании выпуска, если не попросит иного.
- Механизм обновлений. Программа загружает обновления только по HTTPS с GitHub и устанавливает файл, лишь если его SHA-256 совпадает с контрольной суммой, которую GitHub публикует для файла выпуска. Любой обход этой проверки — уязвимость.
- Открытие файлов. Карты регистров (
.json), проекты (.mbproj), дашборды (.mbdash), снимки (.mbsnap) и импортируемые таблицы могут прийти от третьих лиц. Выполнение кода или запись за пределами выбранного пользователем файла при их открытии — уязвимость. - Макросы. Макрос — это код на Python. Программа ограничивает его
возможности (без
importи служебных атрибутов) и запрашивает подтверждение перед запуском скрипта из файла, но это защитное ограждение, а не изолированная среда: запускайте только скрипты, которым доверяете. Способы обойти эти ограничения из скрипта, открытого в программе, также принимаются как сообщения о безопасности.
- Протокол Modbus RTU не предусматривает аутентификации и шифрования; любой, кто подключён к линии RS-485, может читать и записывать регистры. Это свойство протокола, а не программы.
- Предупреждение Windows SmartScreen при первом запуске: сборки пока не подписаны сертификатом разработчика.