Защитная проверка OpenRemote KNX import по ghsa-7v6w-c3f4-9wpq: применимость, обратимый fixture для границы «одинаковая безопасная XMLInputFactory policy для KNX и уже исправленного Velbus import path», измеримый результат и stop-rule без production-данных.
Докажите применимость к OpenRemote KNX import
Версия — только первый фильтр; затем нужна проверка вызываемого пути. Для OpenRemote KNX import и границы «одинаковая безопасная XMLInputFactory policy для KNX и уже исправленного Velbus import path» зафиксируйте runtime-сборку, package source, отпечаток бинарника, активный feature/config path и роль, которая достигает функции. Reviewed Advisory фиксирует «io.openremote:openremote-agent <= 1.24.1; first patched 1.24.2», публикацию 2026-07-06 и обновление 2026-07-06, но не доказывает наличие у вас уязвимого бинарника, реальную эксплуатацию или спрос. Пока эти поля пусты, практическая применимость остаётся неизвестной. Если версия собрана из fork или vendor patch, оставьте в отчёте commit/patch provenance отдельно: одна строка semver не отвечает, присутствует ли исправление.
Зафиксируйте отдельный защитный контракт
Сформулируйте проверяемый инвариант своими словами: normal проходит, external entity не разрешается и marker не попадает в output; KNX и Velbus имеют равный policy fingerprint. Исходная пользовательская боль здесь конкретна — точечный patch одного обработчика оставляет параллельный путь с external entity и доступом к локальным ресурсам. Не смешивайте её с общими страницами про обновления, XSS, SSRF или отказ в обслуживании: механизм и ожидаемый ответ должны быть самостоятельными. До опыта укажите субъект, объект, доверенную границу, разрешённый побочный эффект и сигнал нарушения. Для этого материала артефакт решения — матрица handler / DTD-flag / external-entity-flag / resolver / normal-result / marker-result. Он не содержит токены, IP, содержимое файлов или персональные данные; достаточно классов результата, счётчиков и digest тестового состояния.
Поставьте обратимый минимальный опыт
Соберите обратимый стенд: два factory-конструктора и безвредный XML с entity на marker-файл внутри temp; сеть parser-процесса запрещена. Далее сравнить feature flags, затем разобрать normal XML и marker fixture обоими handlers, сохраняя только тип наблюдения. Используйте минимальные синтетические значения, запрет внешней сети, отдельный temp root и контроль штатного пути, который проходит тот же код без пограничного условия. Перед опытом зафиксируйте digest fixture, версию и timeout, после — digest состояния и cleanup result. Не переносите пример на production и не увеличивайте нагрузку ради наглядности. Если проверяемый модуль нельзя подменить или изолировать, ограничьтесь статической проверкой patch/release и отложите runtime-подтверждение.
Сведите наблюдения в матрицу решения
Исход разбирайте по заранее заданному правилу, а не по впечатлению от лога. Защитный исход: normal проходит, external entity не разрешается и marker не попадает в output; KNX и Velbus имеют равный policy fingerprint. В каждой строке для ряда в «матрица handler / DTD-flag / external-entity-flag / resolver / normal-result / marker-result» оставьте в отчёте expected и observed, а также точную стадию отказа: parse, validate, authorize, allocate, open, mutate или cleanup. Ошибка до опасного действия и ошибка после него — разные результаты. Normal-control обязан доказать, что тест не сломан целиком. Повторите fixture не менее двух раз только в пределах локального бюджета: одинаковый тип наблюдения важнее длинного stdout.
Остановитесь при первом выходе за границу
Примените stop-rule без торга: применить stop-rule при сетевом резолвинге, пути вне temp или чтении системного файла; тест нужен только для безопасной parser policy. Сопутствующие красные флаги — изменение объекта вне temp, неожиданный сетевой вызов, рост памяти, privilege prompt, необратимая запись, расхождение digest или отсутствие контроль штатного пути. Если обнаружен хотя бы один флаге завершите процесс, оставьте в отчёте лишь обезличенную матрицу и верните стенд к исходному состоянию. Не публикуйте payload, реальные конфиги и подробности чужой системы. Severity не разрешает расширять тест: цель — подтвердить защитный контракт с минимальным воздействием.
Передайте поддержке минимальный пакет
Для владельца компонента подготовьте короткий пакет: ghsa-7v6w-c3f4-9wpq, OpenRemote KNX import, installed/build version, upstream commit, применимый диапазон «io.openremote:openremote-agent <= 1.24.1; first patched 1.24.2», описание fixture без чувствительных значений, матрица handler / DTD-flag / external-entity-flag / resolver / normal-result / marker-result, контроль штатного пути, stop-rule, cleanup proof и ссылки на advisory/upstream. В отдельном поле отметьте unknown: reachability, vendor backport, runtime configuration и наличие compensating control. Решение может быть только одним из трёх: not-applicable с доказательством, update/test по утверждённому окну или blocked до безопасного стенда. Так поддержка получает минимальные данные для воспроизведения, а публичный материал не содержит обещаний индексацию, позиции, универсальную защищённость или результат на чужой инфраструктуре.
Свяжите исправление с механизмом OpenRemote KNX import
Для OpenRemote KNX import свяжите исправление именно с механизмом «одинаковая безопасная XMLInputFactory policy для KNX и уже исправленного Velbus import path», а не только с номером релиза. В changelog или diff найдите изменение, которое делает истинным результат «normal проходит, external entity не разрешается и marker не попадает в output; KNX и Velbus имеют равный policy fingerprint», и сопоставьте его с диапазоном «io.openremote:openremote-agent <= 1.24.1; first patched 1.24.2». Далее повторите fixture «два factory-конструктора и безвредный XML с entity на marker-файл внутри temp; сеть parser-процесса запрещена» на текущем и кандидатном артефакте в одинаковой изоляции; сравнивайте «матрица handler / DTD-flag / external-entity-flag / resolver / normal-result / marker-result», а не произвольные строки лога. Если vendor backport меняет номер версии, оставьте в отчёте commit/diff provenance и сборочный digest. План возврата должен восстанавливать предыдущий тестовый артефакт, но не возвращать production к заведомо сомнительной версии. Критерий приёмки для этой отдельной боли — normal проходит, external entity не разрешается и marker не попадает в output; KNX и Velbus имеют равный policy fingerprint; критерий прекращения — применить stop-rule при сетевом резолвинге, пути вне temp или чтении системного файла; тест нужен только для безопасной parser policy. Пока оба критерия не доказаны, статус обозначьте blocked или unknown, не подменяя результат предположением.
Материал подготовлен редакцией VOne с помощью ИИ; даты, диапазоны, прямые ссылки, безопасный опыт, privacy-ограничения и отсутствие рекламных обещаний затем перепроверены по первичным источникам.
Источники и проверка
- GitHub Reviewed Advisory ghsa-7v6w-c3f4-9wpq проверено 2026-08-31
- Upstream-репозиторий OpenRemote KNX import проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.