Защитная инструкция по Migration Planner и ghsa-vf2h-7x3w-97fr: определить применимость, собрать минимальную карту наблюдений, проверить параметризацию данных из RVTools XLSX на изолированном стенде и завершить опыт по измеримому критерию.
Применимость и trust boundary Migration Planner
Reviewed advisory описывает для Migration Planner отдельный механизм: значение spreadsheet cell может быть интерпретировано как часть SQL вместо данных. Пакетная запись: go:github.com/kubev2v/migration-planner; уязвимая граница — < 0.13.5; исправление — 0.13.5. Это условие для инвентаризации, а не подтверждение затронутости конкретной установки: нужны runtime-версия, digest, путь доставки зависимости и включённая функция. Граница проверки проходит между XLSX cell parser, query builder и database driver. Severity critical помогает расставить очередь, но сама по себе не доказывает эксплуатацию или ущерб.
Временный защитный контур
До обновления уменьшите поверхность только обратимыми мерами: ограничьте доступ к рассматриваемой функции, закрепите минимальные права процесса и включите журнал решения на границе «параметризацию данных из RVTools XLSX». Не подменяйте исправление постоянным блоком: для каждого временного guard запишите владельца, срок и критерий снятия. Если компонент недоступен извне, это снижает экспозицию, но не исправляет дефект. Если функция не используется, зафиксируйте конфигурационное доказательство и наблюдение runtime. Любое изменение сначала проходит в отдельной среде и имеет заранее подготовленный возврат.
Один обратимый опыт без опасного payload
Обратимый опыт: в одноразовой базе импортировать маленький workbook с инертной строкой, содержащей кавычку и пунктуацию; команды SQL и production backup не использовать. Положительный исход определён заранее: значение передаётся отдельным bind parameter, импорт добавляет только ожидаемую строку, schema hash не меняется. Сначала выполняют контроль с обычным допустимым входом, затем ровно один граничный случай, после него — повторный контроль. Не расширяйте тест до перебора, нагрузки или активного содержимого. Снимайте только форму решения, счётчики и хеши fixture; чувствительные значения не сохраняйте. Если поведение неоднозначно, результат остаётся unknown и публикацию эксплуатационного вывода запрещают.
Решение update, contain или not-applicable
Матрица решения для Migration Planner имеет четыре ветки. Not-applicable: пакет или функция отсутствуют и это подтверждено runtime inventory. Update: версия входит в затронутую границу и доступна подтверждённая исправленная сборка; после обновления повторяют тот же опыт. Contain: обновление временно невозможно, поэтому действует узкий guard с датой снятия. Escalate: происхождение сборки или результат неизвестны. Красная линия опыта: виден конкатенированный SQL, меняется schema, нужен production workbook или privileged database. При её достижении работа прекращается без попытки «дожать» результат.
Карта наблюдений до изменения
До любых изменений сохраните минимальную карту наблюдений: версия migration-planner, worksheet/column, cell type, query template id, bind count, rows affected и schema hash. Каждому полю назначьте status observed, expected, unknown или not-applicable и приложите происхождение. Unknown нельзя превращать в passed, а absence в lockfile нельзя считать отсутствием runtime-компонента. Разделите четыре узла: вход, между XLSX cell parser, query builder и database driver, контролируемое решение и побочный эффект. Так обновление не скрывает исходное состояние и остаётся возможным сравнение до/после.
Очистка и пакет для поддержки
Возврат и очистка: удалить одноразовую базу и workbook, остановить importer, подтвердить нулевые внешние подключения. Для поддержки подготовьте минимизированный пакет: version, cell type, template id, bind count, affected rows, schema hashes и cleanup. Не включайте IP, cookies, tokens, passwords, реальные имена, строки данных или полный config. Закрытие возможно лишь когда inventory подтверждает исправленную ветку или доказан not-applicable, граничный тест имеет ожидаемый безопасный исход, повторный контроль проходит, а временные guard либо сняты, либо имеют владельца и срок. Отдельно укажите, что advisory не доказывает атаку на эту установку.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, границы версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-vf2h-7x3w-97fr проверено 2026-08-30
- Upstream-страница Migration Planner проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.