Защитная проверка github.com/fleetdm/fleet по GHSA-7q96-f8xw-jv5j: версия, обратимый fixture, PASS/FAIL/Unknown, stop-rule и обезличенный пакет доказательств.
Что проверить для github.com/fleetdm/fleet
Эта валидация нужна не для поиска эксплуатации, а для доказательства состояния конкретной сборки. Администратор fleet не знает, отделены ли данные host от структуры sql-запроса в conditional access endpoint. Короткий ответ: подтвердите фактический карточка и границу «go/github.com/fleetdm/fleet < 4.86.2 → 4.86.2», затем сделайте только обратимую проверку: валидировать обновление и выполнить безопасный fixture с обычными строками и метасимволами без извлечения данных. Не используйте production, чужие данные или вредоносные payload. GitHub Advisory Database указывает severity high и обновление 2026-08-20; это приоритет для инвентаризации, а не доказательство атаки или массового спроса. Запишите digest сборки, resolved dependency и снимок затронутой функции. Если карточка транзитивный, имя образа или процесса не заменяет lock-файл, SBOM либо provenance артефакта.
Как определить применимость версии
Зафиксированная advisory-рубеж: go/github.com/fleetdm/fleet < 4.86.2 → 4.86.2. Сопоставляйте её с реально загруженной библиотекой, а не только с manifest исходников. Разделите исход на `not_present`, `outside_range`, `affected_candidate`, `patched_or_backported` и `unknown`. Для fork внесите upstream commit и описание backport. Для категории `injection` отдельно отметьте, достигается ли соответствующий путь из доверенной зоны. Если branch или package не удаётся однозначно сопоставить, остановитесь на Unknown и не подменяйте факт общим советом «обновить всё».
Обратимый тест без опасного воспроизведения
Рекомендуемый fixture: валидировать обновление и выполнить безопасный fixture с обычными строками и метасимволами без извлечения данных. До запуска подготовьте пустой временный контекст, ограничьте время и ресурсы, отключите внешнюю сеть и внесите expected result. Сначала сделайте benign positive control, который доказывает работоспособность функции. Затем один отрицательный случай, проверяющий только заявленную границу. Не переносите в fixture токены, персональные данные, реальные пути, production-конфигурацию или опубликованные proof-of-concept. После теста удалите временные сущности и подтвердите отсутствие изменения исходного состояния.
Критерии PASS, FAIL и Unknown
Практический артефакт: таблица input class–parameter binding–response class–database side effects. PASS означает, что разрешённый control работает, а пограничный случай отклонён до нежелательного состояния. FAIL фиксируется только при работающем control и наблюдаемом нарушении заявленной границы. Unknown обязателен, если dependency не доказана, test harness не достиг нужного пути, исход нельзя прочитать обратно или ограничитель сам оборвал проверку. Для `injection` дополнительно внесите время, память, нормализованный путь, субъект доступа либо контекст вывода — только те наблюдения, которые относятся к механизму.
План обновления и stop-rule
Если сборка попадает в затронутый диапазон, используйте поддерживаемую исправленную ветку из primary source и повторите тот же fixture до и после изменения. Не меняйте одновременно dependency, proxy, права и формат данных: иначе исход потеряет причинность. Stop-rule: немедленно завершите тест при росте ресурсов вне лимита, неожиданном сетевом обращении, записи за пределами временного каталога, попытке затронуть чужой объект или появлении реальных секретов. WAF, отсутствие жалоб и статус active не равны исправлению GHSA-7q96-f8xw-jv5j.
Что приложить к запросу поддержки
Сохраните GHSA-7q96-f8xw-jv5j, package name, resolved version, artifact digest, ветку и commit, feature state, hash синтетического fixture, наблюдения control и negative case, а также итог PASS/FAIL/Unknown. Приложите ссылки на GitHub Advisory Database и primary upstream source, но не вставляйте большие фрагменты чужого текста. Отдельная боль: администратор Fleet не знает, отделены ли данные host от структуры SQL-запроса в conditional access endpoint. Результат — таблица input class–parameter binding–response class–database side effects. Механизм GHSA-7q96-f8xw-jv5j (Fleet: SQL injection in Okta conditional access endpoint allows host-controlled compromise of the Fleet database) не совпадает с соседними intent и требует собственного набора наблюдений. Такой карточка позволяет maintainer повторить решение без доступа к production. Если advisory, локальная сборка и regression test расходятся, перечислите расхождение как Unknown вместо предположения о безопасности.
Контрольная карточка GHSA-7q96-f8xw-jv5j для injection
Карточка именно этого решения связывает вопрос «администратор Fleet не знает, отделены ли данные host от структуры SQL-запроса в conditional access endpoint» с проверкой «валидировать обновление и выполнить безопасный fixture с обычными строками и метасимволами без извлечения данных». В первой строке укажите github.com/fleetdm/fleet, затем границу go/github.com/fleetdm/fleet < 4.86.2 → 4.86.2. Во второй строке внесите исходный сигнал: Fleet: SQL injection in Okta conditional access endpoint allows host-controlled compromise of the Fleet database. Третья строка — ожидаемый практический исход «таблица input class–parameter binding–response class–database side effects». Для этого механизма не подходят доказательства соседних страниц: название продукта, общий статус службы, один HTTP 200, отсутствие жалоб или скриншот интерфейса не отвечают на заявленный вопрос. Отдельно внесите, какой benign control подтверждает достижимость пути, какое наблюдение считается отказом до побочного эффекта и при каком условии решение становится Unknown. Пакет не должен содержать токены, реальные имена, адреса узлов, содержимое документов, дампы памяти или полный production-log. Финальная подпись включает дату 2026-08-31, GHSA-7q96-f8xw-jv5j, digest сборки и ссылку на upstream. Так другой специалист проверит категорию injection по тем же полям, не повторяя опасный сценарий и не получая доступ к данным пользователя.
Минимальный record для повторной проверки fleet-okta-conditional-access-query-boundary
Администратор fleet не знает, отделены ли данные host от структуры sql-запроса в conditional access endpoint. Рабочее действие для этой карточки: проверить обновление и выполнить безопасный fixture с обычными строками и метасимволами без извлечения данных. Ожидаемый артефакт: таблица input class–parameter binding–response class–database side effects. Upstream формулировка механизма: Fleet: SQL injection in Okta conditional access endpoint allows host-controlled compromise of the Fleet database. Компонентная граница: go/github.com/fleetdm/fleet < 4.86.2 → 4.86.2. Для injection boundary не выполняют команды и не извлекают данные. Используют нейтральные метасимволы, parameter-binding trace и сравнение структуры результата. Важны стадия escaping/compilation, отсутствие дополнительного statement или token и неизменность тестовой базы. Строка ошибки не является PASS без read-back и control. Цепочка наблюдения «fleet → okta → conditional → access → query → boundary» задаёт названия колонок и порядок read-back. Машиночитаемые ключи record: fleet-okta-conditional-access-query-boundary-baseline, fleet-okta-conditional-access-query-boundary-inventory, fleet-okta-conditional-access-query-boundary-control, fleet-okta-conditional-access-query-boundary-boundary, fleet-okta-conditional-access-query-boundary-fixture, fleet-okta-conditional-access-query-boundary-deadline, fleet-okta-conditional-access-query-boundary-readback, fleet-okta-conditional-access-query-boundary-sideeffects, fleet-okta-conditional-access-query-boundary-verdict, fleet-okta-conditional-access-query-boundary-provenance, fleet-okta-conditional-access-query-boundary-rollback, fleet-okta-conditional-access-query-boundary-timestamp, fleet-okta-conditional-access-query-boundary-owner, fleet-okta-conditional-access-query-boundary-digest, fleet-okta-conditional-access-query-boundary-unknownreason. После обновления повторяется тот же fixture, поэтому изменение github.com/fleetdm/fleet можно отделить от изменения окружения. Для GHSA-7q96-f8xw-jv5j verdict остаётся Unknown при пропущенном control, несовпадающей ветке либо недоступном read-back.
Материал подготовлен редакцией VOne с помощью ИИ; версии, источники, безопасный fixture, stop-rule, privacy-ограничения и отсутствие рекламных обещаний перепроверены человеком.
Источники и проверка
- GitHub Advisory Database GHSA-7q96-f8xw-jv5j проверено 2026-08-31
- Primary upstream source for github.com/fleetdm/fleet проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.